home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / develop™ Technical Journal / develop Issue 11 code / The NetWork Project.sea / The NetWork Project / NetWork Programmer's Stuff / SchedulerUnit.p < prev   
MacBinary  |  1992-07-15  |  16.4 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert ZX81 Sinclair BASIC (image/sinclairBASIC) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Jul 15 16:26:30 1992, modified Wed Jul 15 16:26:30 1992, creator 'MPS ', type ASCII, 15014 bytes "SchedulerUnit.p" , at 0x3b26 1507 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 53 63 68 65 64 75 | 6c 65 72 55 6e 69 74 2e |..Schedu|lerUnit.|
|00000010| 70 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |p.......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 3a a6 00 | 00 05 e3 a6 8a 3a 76 a6 |.....:..|.....:v.|
|00000060| 8a 3a 76 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.:v.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 c9 a3 00 00 |........|........|
|00000080| 55 6e 69 74 20 53 63 68 | 65 64 75 6c 65 72 55 6e |Unit Sch|edulerUn|
|00000090| 69 74 3b 0d 7b 20 43 6f | 70 79 72 69 67 68 74 20 |it;.{ Co|pyright |
|000000a0| 54 68 65 20 4e 65 74 57 | 6f 72 6b 20 50 72 6f 6a |The NetW|ork Proj|
|000000b0| 65 63 74 2c 20 53 74 61 | 74 4c 61 62 20 48 65 69 |ect, Sta|tLab Hei|
|000000c0| 64 65 6c 62 65 72 67 20 | 31 39 38 39 2d 31 39 39 |delberg |1989-199|
|000000d0| 31 0d 20 20 43 6f 70 79 | 72 69 67 68 74 20 47 2e |1. Copy|right G.|
|000000e0| 20 53 61 77 69 74 7a 6b | 69 2c 20 53 74 61 74 4c | Sawitzk|i, StatL|
|000000f0| 61 62 20 48 65 69 64 65 | 6c 62 65 72 67 20 31 39 |ab Heide|lberg 19|
|00000100| 38 39 2d 31 39 39 31 7d | 0d 7b 2d 2d 2d 2d 2d 2d |89-1991}|.{------|
|00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 75 73 65 |--------|----.use|
|00000120| 3a 09 0d 74 68 65 20 67 | 65 6e 65 72 69 63 20 73 |:..the g|eneric s|
|00000130| 63 68 65 64 75 6c 65 72 | 20 66 6f 72 20 61 73 79 |cheduler| for asy|
|00000140| 6e 63 68 72 6f 6e 6f 75 | 73 20 69 74 65 72 61 74 |nchronou|s iterat|
|00000150| 69 6f 6e 73 2e 0d 59 6f | 75 20 68 61 76 65 20 74 |ions..Yo|u have t|
|00000160| 6f 20 63 72 65 61 74 65 | 20 61 20 73 63 68 65 64 |o create| a sched|
|00000170| 75 6c 65 72 20 77 69 74 | 68 20 4e 65 77 28 53 63 |uler wit|h New(Sc|
|00000180| 68 65 64 75 6c 65 72 29 | 0d 61 6e 64 20 74 6f 20 |heduler)|.and to |
|00000190| 69 6e 69 74 69 61 6c 69 | 7a 65 20 69 74 20 77 69 |initiali|ze it wi|
|000001a0| 74 68 20 53 63 68 65 64 | 75 6c 65 72 2e 49 6e 69 |th Sched|uler.Ini|
|000001b0| 74 2e 0d 0d 46 6f 72 20 | 61 20 63 6f 6d 70 75 74 |t...For |a comput|
|000001c0| 65 20 73 65 72 76 65 72 | 20 28 73 6c 61 76 65 29 |e server| (slave)|
|000001d0| 20 79 6f 75 20 68 61 76 | 65 20 74 6f 20 63 75 73 | you hav|e to cus|
|000001e0| 74 6f 6d 69 7a 65 0d 4d | 73 67 75 73 61 62 6c 65 |tomize.M|sgusable|
|000001f0| 20 61 6e 64 20 4d 73 67 | 45 76 61 6c 75 61 74 69 | and Msg|Evaluati|
|00000200| 6f 6e 20 6f 66 20 74 68 | 65 20 54 61 73 6b 48 61 |on of th|e TaskHa|
|00000210| 6e 64 6c 65 72 2c 0d 63 | 72 65 61 74 65 20 61 20 |ndler,.c|reate a |
|00000220| 54 61 73 6b 48 61 6e 64 | 6c 65 72 2c 20 61 6e 64 |TaskHand|ler, and|
|00000230| 20 69 6e 73 74 61 6c 6c | 20 69 74 20 75 73 69 6e | install| it usin|
|00000240| 67 0d 53 63 68 65 64 75 | 6c 65 72 2e 49 6e 69 74 |g.Schedu|ler.Init|
|00000250| 54 61 73 6b 48 61 6e 64 | 6c 65 72 2e 0d 0d 46 6f |TaskHand|ler...Fo|
|00000260| 72 20 61 20 63 6f 6d 70 | 75 74 65 20 63 6c 69 65 |r a comp|ute clie|
|00000270| 6e 74 20 28 6d 61 73 74 | 65 72 29 20 79 6f 75 20 |nt (mast|er) you |
|00000280| 68 61 76 65 20 74 6f 20 | 70 72 65 70 61 72 65 20 |have to |prepare |
|00000290| 61 20 0d 72 65 63 65 69 | 76 65 72 2c 20 79 6f 75 |a .recei|ver, you|
|000002a0| 20 68 61 76 65 20 74 6f | 20 63 75 73 74 6f 6d 69 | have to| customi|
|000002b0| 7a 65 20 4e 65 77 54 61 | 73 6b 20 6f 66 20 74 68 |ze NewTa|sk of th|
|000002c0| 65 20 0d 54 61 73 6b 47 | 65 6e 65 72 61 74 6f 72 |e .TaskG|enerator|
|000002d0| 2c 20 63 72 65 61 74 65 | 20 61 20 54 61 73 6b 47 |, create| a TaskG|
|000002e0| 65 6e 65 72 61 74 6f 72 | 2c 20 61 6e 64 20 69 6e |enerator|, and in|
|000002f0| 73 74 61 6c 6c 20 69 74 | 20 0d 75 73 69 6e 67 20 |stall it| .using |
|00000300| 53 63 68 65 64 75 6c 65 | 72 2e 49 6e 69 74 54 61 |Schedule|r.InitTa|
|00000310| 73 6b 47 65 6e 65 72 61 | 74 6f 72 2e 0d 0d 75 70 |skGenera|tor...up|
|00000320| 64 61 74 69 6e 67 20 68 | 69 73 74 6f 72 79 3a 0d |dating h|istory:.|
|00000330| 31 2e 31 2d 30 42 09 72 | 65 6e 61 6d 65 64 20 2e |1.1-0B.r|enamed .|
|00000340| 69 6e 63 20 74 6f 20 2e | 69 6e 63 2e 70 0d 31 2e |inc to .|inc.p.1.|
|00000350| 31 2d 30 41 09 6e 61 6d | 65 20 63 68 61 6e 67 65 |1-0A.nam|e change|
|00000360| 73 2c 20 55 4e 49 56 20 | 70 6f 69 6e 74 65 72 73 |s, UNIV |pointers|
|00000370| 2c 20 76 61 72 20 6d 65 | 73 73 61 67 65 73 0d 31 |, var me|ssages.1|
|00000380| 2e 31 2d 30 39 09 61 64 | 64 69 74 69 6f 6e 61 6c |.1-09.ad|ditional|
|00000390| 20 63 68 65 63 6b 73 20 | 61 64 64 65 64 0d 31 2e | checks |added.1.|
|000003a0| 31 2d 30 38 20 20 63 6c | 65 61 6e 20 75 70 0d 31 |1-08 cl|ean up.1|
|000003b0| 2e 31 2d 30 37 20 20 64 | 79 6e 61 6d 69 63 20 62 |.1-07 d|ynamic b|
|000003c0| 75 66 66 65 72 20 68 61 | 6e 64 6c 69 6e 67 0d 31 |uffer ha|ndling.1|
|000003d0| 2e 31 2d 30 36 20 20 65 | 76 65 6e 74 2d 62 61 73 |.1-06 e|vent-bas|
|000003e0| 65 64 0d 31 2e 31 2d 30 | 35 09 61 64 64 65 64 20 |ed.1.1-0|5.added |
|000003f0| 55 53 45 53 20 4e 65 74 | 57 6f 72 6b 4c 6f 6f 6b |USES Net|WorkLook|
|00000400| 75 70 0d 31 2e 31 2d 30 | 34 09 20 72 65 6d 6f 76 |up.1.1-0|4. remov|
|00000410| 65 64 20 64 65 66 61 75 | 6c 74 20 6d 65 73 73 61 |ed defau|lt messa|
|00000420| 67 65 2e 20 0d 09 09 63 | 6f 68 61 6e 64 6c 65 72 |ge. ...c|ohandler|
|00000430| 73 20 69 6e 74 72 6f 64 | 75 63 65 64 2e 0d 2d 2d |s introd|uced..--|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000450| 2d 7d 0d 0d 49 6e 74 65 | 72 66 61 63 65 0d 0d 09 |-}..Inte|rface...|
|00000460| 55 53 45 53 0d 09 09 54 | 79 70 65 73 2c 20 4f 62 |USES...T|ypes, Ob|
|00000470| 6a 49 6e 74 66 2c 20 45 | 72 72 6f 72 73 2c 09 4d |jIntf, E|rrors,.M|
|00000480| 65 6d 6f 72 79 2c 0d 09 | 09 4e 65 74 57 6f 72 6b |emory,..|.NetWork|
|00000490| 2c 20 4e 65 74 57 6f 72 | 6b 4c 6f 6f 6b 75 70 3b |, NetWor|kLookup;|
|000004a0| 0d 0d 09 0d 7b 24 53 65 | 74 63 20 44 65 62 75 67 |....{$Se|tc Debug|
|000004b0| 67 69 6e 67 3d 66 61 6c | 73 65 7d 09 09 7b 73 65 |ging=fal|se}..{se|
|000004c0| 74 20 74 72 75 65 20 74 | 6f 20 68 61 76 65 20 61 |t true t|o have a|
|000004d0| 64 64 69 74 69 6f 6e 61 | 6c 20 64 65 62 75 67 67 |dditiona|l debugg|
|000004e0| 69 6e 67 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 2c |ing info|rmation,|
|000004f0| 20 75 73 69 6e 67 20 4d | 61 63 73 42 75 67 7d 0d | using M|acsBug}.|
|00000500| 7b 24 53 65 74 63 20 4d | 65 6d 62 65 72 4b 6c 75 |{$Setc M|emberKlu|
|00000510| 64 67 65 3d 74 72 75 65 | 7d 09 7b 74 68 65 20 6d |dge=true|}.{the m|
|00000520| 65 6d 62 65 72 20 66 75 | 6e 63 74 69 6f 6e 20 6f |ember fu|nction o|
|00000530| 66 20 4d 50 57 20 33 2e | 32 20 6d 61 79 20 72 75 |f MPW 3.|2 may ru|
|00000540| 6e 20 69 6e 74 6f 20 61 | 20 62 75 73 20 65 72 72 |n into a| bus err|
|00000550| 6f 72 20 69 6e 73 74 65 | 61 64 0d 09 09 09 09 09 |or inste|ad......|
|00000560| 09 09 6f 66 20 72 65 70 | 6f 72 74 69 6e 67 20 66 |..of rep|orting f|
|00000570| 61 6c 73 65 20 77 68 65 | 6e 20 74 68 65 20 66 69 |alse whe|n the fi|
|00000580| 72 73 74 20 61 72 67 75 | 6d 65 6e 74 20 69 73 20 |rst argu|ment is |
|00000590| 6e 6f 74 20 61 6e 20 6f | 62 6a 65 63 74 2e 20 49 |not an o|bject. I|
|000005a0| 66 0d 09 09 09 09 09 09 | 09 4d 65 6d 62 65 72 4b |f.......|.MemberK|
|000005b0| 6c 75 64 67 65 20 69 73 | 20 74 72 75 65 2c 20 73 |ludge is| true, s|
|000005c0| 70 65 63 69 61 6c 20 63 | 61 75 74 69 6f 6e 73 20 |pecial c|autions |
|000005d0| 61 72 65 20 74 61 6b 65 | 6e 20 74 6f 20 61 76 6f |are take|n to avo|
|000005e0| 69 64 20 74 68 69 73 0d | 09 09 09 09 09 09 09 70 |id this.|.......p|
|000005f0| 72 6f 62 6c 65 6d 2e 20 | 49 66 20 74 68 65 20 65 |roblem. |If the e|
|00000600| 6e 76 69 72 6f 6e 6d 65 | 6e 74 20 69 73 20 74 65 |nvironme|nt is te|
|00000610| 73 74 65 64 2c 20 73 65 | 74 20 4d 65 6d 62 65 72 |sted, se|t Member|
|00000620| 4b 6c 75 64 67 65 3d 66 | 61 6c 73 65 2e 7d 0d 7b |Kludge=f|alse.}.{|
|00000630| 24 53 65 74 63 20 70 61 | 72 61 6e 6f 69 61 3d 74 |$Setc pa|ranoia=t|
|00000640| 72 75 65 7d 09 09 7b 74 | 65 73 74 20 66 6f 72 20 |rue}..{t|est for |
|00000650| 63 6f 6e 64 69 74 69 6f | 6e 73 20 77 68 69 63 68 |conditio|ns which|
|00000660| 20 73 69 6d 70 6c 79 20 | 73 68 6f 75 6c 64 20 6e | simply |should n|
|00000670| 6f 74 20 68 61 70 70 65 | 6e 2e 20 49 66 20 6d 65 |ot happe|n. If me|
|00000680| 73 73 61 67 65 20 0d 09 | 09 09 09 09 09 09 6d 61 |ssage ..|......ma|
|00000690| 6e 61 67 65 6d 65 6e 74 | 20 69 73 20 64 6f 6e 65 |nagement| is done|
|000006a0| 20 62 79 20 74 68 65 20 | 73 63 68 65 64 75 6c 65 | by the |schedule|
|000006b0| 72 20 61 6e 64 20 74 68 | 65 20 65 6e 76 69 72 6f |r and th|e enviro|
|000006c0| 6e 6d 65 6e 74 20 69 73 | 20 74 65 73 74 65 64 2c |nment is| tested,|
|000006d0| 0d 09 09 09 09 09 09 09 | 73 65 74 20 70 61 72 61 |........|set para|
|000006e0| 6e 6f 69 61 3d 66 61 6c | 73 65 2e 7d 0d 0d 63 6f |noia=fal|se.}..co|
|000006f0| 6e 73 74 20 0d 0d 09 7b | 74 68 65 73 65 20 61 72 |nst ...{|these ar|
|00000700| 65 20 63 61 70 61 62 69 | 6c 69 74 79 2f 6d 65 73 |e capabi|lity/mes|
|00000710| 73 61 67 65 20 74 79 70 | 65 20 66 6c 61 67 73 2e |sage typ|e flags.|
|00000720| 20 4d 6f 76 65 20 74 6f | 20 67 6c 6f 62 61 6c 20 | Move to| global |
|00000730| 3f 3f 7d 0d 09 7b 62 69 | 74 20 30 2e 2e 31 35 20 |??}..{bi|t 0..15 |
|00000740| 61 72 65 20 75 73 65 64 | 20 62 79 20 74 68 65 20 |are used| by the |
|00000750| 73 63 68 65 64 75 6c 65 | 72 2c 20 62 69 74 73 20 |schedule|r, bits |
|00000760| 31 36 2e 2e 33 31 20 62 | 79 20 74 68 65 20 6d 65 |16..31 b|y the me|
|00000770| 73 73 61 67 65 20 73 79 | 73 74 65 6d 2e 7d 0d 09 |ssage sy|stem.}..|
|00000780| 0d 09 0d 09 7b a5 a5 a5 | a5 a5 a5 a5 20 74 68 65 |....{...|.... the|
|00000790| 73 65 20 61 72 65 20 20 | 6e 20 6f 20 74 20 20 74 |se are |n o t t|
|000007a0| 68 65 20 66 69 6e 61 6c | 20 63 6f 64 65 73 20 a5 |he final| codes .|
|000007b0| a5 a5 a5 a5 a5 a5 7d 0d | 09 7b a5 a5 a5 a5 a5 a5 |......}.|.{......|
|000007c0| a5 20 61 20 6c 20 6c 20 | 20 66 6c 61 67 73 20 61 |. a l l | flags a|
|000007d0| 72 65 20 72 65 73 65 72 | 76 65 64 20 20 20 20 20 |re reser|ved |
|000007e0| 20 20 20 20 a5 a5 a5 a5 | a5 a5 a5 7d 0d 09 7b 77 | ....|...}..{w|
|000007f0| 61 72 6e 69 6e 67 3a 20 | 74 68 65 20 63 6f 6d 70 |arning: |the comp|
|00000800| 69 6c 65 72 20 64 6f 65 | 73 20 6e 6f 74 20 6b 6e |iler doe|s not kn|
|00000810| 6f 77 20 61 62 6f 75 74 | 20 68 65 78 20 6e 75 6d |ow about| hex num|
|00000820| 62 65 72 73 20 61 6e 64 | 20 6d 61 79 20 75 73 65 |bers and| may use|
|00000830| 0d 09 61 20 73 69 67 6e | 20 65 78 74 65 6e 73 69 |..a sign| extensi|
|00000840| 6f 6e 7d 0d 09 7b 73 63 | 68 65 64 75 6c 65 72 20 |on}..{sc|heduler |
|00000850| 76 65 72 62 73 7d 0d 09 | 0d 09 63 41 6e 79 43 61 |verbs}..|..cAnyCa|
|00000860| 70 61 73 09 09 3d 09 20 | 20 20 20 20 20 20 20 30 |pas..=. | 0|
|00000870| 3b 09 7b 6e 6f 20 6b 6e | 6f 77 6e 20 63 61 70 61 |;.{no kn|own capa|
|00000880| 62 69 6c 69 74 69 65 73 | 2f 6e 6f 20 73 70 65 63 |bilities|/no spec|
|00000890| 69 61 6c 20 63 61 70 61 | 62 69 6c 69 74 69 65 73 |ial capa|bilities|
|000008a0| 20 72 65 71 75 69 72 65 | 64 7d 0d 09 63 4d 73 67 | require|d}..cMsg|
|000008b0| 52 65 70 6c 79 09 09 3d | 09 24 30 30 30 30 38 30 |Reply..=|.$000080|
|000008c0| 30 30 3b 20 09 7b 6d 65 | 73 73 61 67 65 20 69 73 |00; .{me|ssage is|
|000008d0| 20 61 20 72 65 70 6c 79 | 7d 0d 09 63 4d 73 67 4e | a reply|}..cMsgN|
|000008e0| 41 74 74 65 6e 74 69 6f | 6e 09 3d 09 24 30 30 30 |Attentio|n.=.$000|
|000008f0| 30 34 30 30 30 3b 09 7b | 73 70 65 63 69 61 6c 20 |04000;.{|special |
|00000900| 61 74 74 65 6e 74 69 6f | 6e 2c 20 65 67 2e 20 6d |attentio|n, eg. m|
|00000910| 65 73 73 61 67 65 20 73 | 74 61 72 74 73 20 61 20 |essage s|tarts a |
|00000920| 6e 65 77 20 63 6f 6e 74 | 65 78 74 2c 0d 09 09 09 |new cont|ext,....|
|00000930| 09 09 09 09 09 09 63 6f | 6e 74 61 69 6e 73 20 61 |......co|ntains a|
|00000940| 20 77 61 72 6e 69 6e 67 | 20 65 74 63 2e 20 4d 61 | warning| etc. Ma|
|00000950| 79 20 62 65 20 64 65 6c | 69 76 65 72 65 64 20 77 |y be del|ivered w|
|00000960| 69 74 68 20 70 72 69 6f | 72 69 74 79 0d 09 09 09 |ith prio|rity....|
|00000970| 09 09 09 09 09 09 62 79 | 20 74 68 65 20 6d 65 73 |......by| the mes|
|00000980| 73 61 67 65 20 73 79 73 | 74 65 6d 2e 20 6f 76 65 |sage sys|tem. ove|
|00000990| 72 72 69 64 65 73 20 63 | 6f 6e 74 65 78 74 20 73 |rrides c|ontext s|
|000009a0| 74 61 6d 70 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |tamp inf|ormation|
|000009b0| 2e 7d 0d 09 0d 09 7b 6d | 65 73 73 61 67 65 20 73 |.}....{m|essage s|
|000009c0| 79 73 74 65 6d 20 66 6c | 61 67 73 7d 0d 09 0d 09 |ystem fl|ags}....|
|000009d0| 63 55 6e 6b 6e 6f 77 6e | 46 6f 72 6d 61 74 09 3d |cUnknown|Format.=|
|000009e0| 09 24 30 30 30 31 30 30 | 30 30 3b 09 7b 72 65 73 |.$000100|00;.{res|
|000009f0| 65 72 76 65 64 20 74 6f | 20 6d 61 72 6b 20 66 75 |erved to| mark fu|
|00000a00| 74 75 72 65 20 66 6f 72 | 6d 61 74 20 65 78 74 65 |ture for|mat exte|
|00000a10| 6e 73 69 6f 6e 73 7d 0d | 09 63 4d 75 73 74 42 65 |nsions}.|.cMustBe|
|00000a20| 4c 61 75 6e 63 68 65 64 | 09 3d 09 24 38 30 30 30 |Launched|.=.$8000|
|00000a30| 30 30 30 30 3b 09 7b 72 | 65 63 69 70 69 65 6e 74 |0000;.{r|ecipient|
|00000a40| 20 6d 75 73 74 20 62 65 | 20 6c 61 75 6e 63 68 65 | must be| launche|
|00000a50| 64 2e 20 44 6f 6e 27 74 | 20 6c 61 75 63 68 7d 0d |d. Don't| lauch}.|
|00000a60| 0d 09 63 4e 69 6c 45 72 | 72 6f 72 3d 6d 65 6d 46 |..cNilEr|ror=memF|
|00000a70| 75 6c 6c 45 72 72 20 3b | 09 7b 6e 69 6c 20 65 72 |ullErr ;|.{nil er|
|00000a80| 72 6f 72 2e 20 a5 a5 a5 | a5 a5 a5 a5 20 74 68 65 |ror. ...|.... the|
|00000a90| 73 65 20 61 72 65 20 20 | 6e 20 6f 20 74 20 20 74 |se are |n o t t|
|00000aa0| 68 65 20 66 69 6e 61 6c | 20 63 6f 64 65 73 20 a5 |he final| codes .|
|00000ab0| a5 a5 a5 a5 a5 a5 7d 0d | 0d 09 0d 09 7b 3d 3d 3d |......}.|....{===|
|00000ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ad0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ae0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000af0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b10| 3d 7d 0d 0d 54 79 70 65 | 20 4d 65 73 73 61 67 65 |=}..Type| Message|
|00000b20| 50 74 72 3d 4d 73 67 50 | 74 72 3b 09 09 7b 77 65 |Ptr=MsgP|tr;..{we|
|00000b30| 20 75 73 65 20 74 68 65 | 20 73 61 6d 65 20 64 61 | use the| same da|
|00000b40| 74 61 20 74 79 70 65 20 | 61 73 20 74 68 65 20 6d |ta type |as the m|
|00000b50| 65 73 73 61 67 65 20 73 | 79 74 65 6d 2c 0d 09 09 |essage s|ytem,...|
|00000b60| 09 09 09 09 09 62 75 74 | 20 77 65 20 64 6f 6e 27 |.....but| we don'|
|00000b70| 74 20 77 61 6e 74 20 74 | 6f 20 6d 69 78 20 75 70 |t want t|o mix up|
|00000b80| 20 77 69 74 68 20 74 68 | 65 20 63 6f 6d 6d 75 6e | with th|e commun|
|00000b90| 69 63 61 74 69 6f 6e 0d | 09 09 09 09 09 09 09 73 |ication.|.......s|
|00000ba0| 79 73 74 65 6d 7d 0d 0d | 09 0d 09 7b 3d 3d 3d 3d |ystem}..|...{====|
|00000bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000bf0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000c00| 7d 0d 09 7b 6c 6f 77 20 | 6c 65 76 65 6c 20 72 6f |}..{low |level ro|
|00000c10| 75 74 69 6e 65 73 2c 20 | 69 6e 74 65 72 66 61 63 |utines, |interfac|
|00000c20| 69 6e 67 20 74 6f 20 6d | 65 73 73 61 67 65 20 73 |ing to m|essage s|
|00000c30| 79 73 74 65 6d 2e 20 4d | 65 73 73 61 67 65 73 20 |ystem. M|essages |
|00000c40| 61 72 65 20 64 65 6c 74 | 20 77 69 74 68 0d 09 62 |are delt| with..b|
|00000c50| 79 20 6d 65 73 73 61 67 | 65 20 68 61 6e 64 6c 65 |y messag|e handle|
|00000c60| 72 73 2e 20 54 79 70 69 | 63 61 6c 6c 79 2c 20 74 |rs. Typi|cally, t|
|00000c70| 68 65 72 20 77 69 6c 6c | 20 62 65 20 6d 65 73 61 |her will| be mesa|
|00000c80| 67 65 20 68 61 6e 64 6c | 65 72 73 20 68 61 6e 64 |ge handl|ers hand|
|00000c90| 6c 69 6e 67 20 69 6e 63 | 6f 6d 69 6e 67 0d 09 74 |ling inc|oming..t|
|00000ca0| 61 73 6b 73 2c 20 61 6e | 64 20 74 68 6f 73 65 20 |asks, an|d those |
|00000cb0| 67 65 6e 65 72 61 74 69 | 6e 67 20 74 61 73 6b 73 |generati|ng tasks|
|00000cc0| 20 67 6f 69 6e 67 20 6f | 75 74 2e 7d 0d 0d 0d 09 | going o|ut.}....|
|00000cd0| 7b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |{-------|--------|
|00000ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d10| 7d 0d 09 7b 09 54 68 69 | 73 20 69 73 20 61 6e 20 |}..{.Thi|s is an |
|00000d20| 61 62 73 74 72 61 63 74 | 20 68 61 6e 64 6c 65 72 |abstract| handler|
|00000d30| 20 77 68 69 63 68 20 77 | 69 6c 6c 20 6e 65 76 65 | which w|ill neve|
|00000d40| 72 20 62 65 20 63 72 65 | 61 74 65 64 2e 0d 09 49 |r be cre|ated...I|
|00000d50| 74 20 69 73 20 68 65 72 | 65 20 74 6f 20 64 65 66 |t is her|e to def|
|00000d60| 69 6e 65 20 64 65 66 61 | 75 6c 74 20 63 61 70 61 |ine defa|ult capa|
|00000d70| 62 69 6c 69 74 69 65 73 | 20 61 6e 64 20 63 61 6c |bilities| and cal|
|00000d80| 6c 69 6e 67 20 63 6f 6e | 76 65 74 69 6f 6e 73 0d |ling con|vetions.|
|00000d90| 09 6f 66 20 6d 65 73 73 | 61 67 65 20 68 61 6e 64 |.of mess|age hand|
|00000da0| 6c 65 72 73 2e 09 7d 0d | 0d 54 79 70 65 20 74 4d |lers..}.|.Type tM|
|00000db0| 65 73 73 61 67 65 48 61 | 6e 64 6c 65 72 3d 6f 62 |essageHa|ndler=ob|
|00000dc0| 6a 65 63 74 28 74 4f 62 | 6a 65 63 74 29 0d 7b 24 |ject(tOb|ject).{$|
|00000dd0| 49 46 43 20 4d 65 6d 62 | 65 72 4b 6c 75 64 67 65 |IFC Memb|erKludge|
|00000de0| 7d 0d 09 09 4d 65 6d 62 | 65 72 4b 6c 75 64 67 65 |}...Memb|erKludge|
|00000df0| 4d 61 67 69 63 3a 09 6c | 6f 6e 67 69 6e 74 3b 09 |Magic:.l|ongint;.|
|00000e00| 0d 09 09 09 09 09 09 09 | 7b 61 20 6d 61 67 69 63 |........|{a magic|
|00000e10| 20 77 6f 72 64 20 73 70 | 65 6c 6c 69 6e 67 20 6c | word sp|elling l|
|00000e20| 6f 6e 67 69 6e 74 28 27 | 74 4d 48 64 27 29 20 77 |ongint('|tMHd') w|
|00000e30| 69 74 68 20 74 4d 65 73 | 73 61 67 65 48 61 6e 64 |ith tMes|sageHand|
|00000e40| 6c 65 72 73 2e 0d 09 09 | 09 09 09 09 09 4d 61 79 |lers....|.....May|
|00000e50| 20 62 65 20 75 73 65 64 | 20 74 6f 20 61 76 6f 69 | be used| to avoi|
|00000e60| 64 20 62 75 73 20 65 72 | 72 6f 72 73 20 63 61 75 |d bus er|rors cau|
|00000e70| 73 65 64 20 62 65 20 74 | 68 65 20 4d 50 57 20 33 |sed be t|he MPW 3|
|00000e80| 2e 32 0d 09 09 09 09 09 | 09 09 69 6d 70 6c 65 6d |.2......|..implem|
|00000e90| 65 6e 74 61 74 69 6f 6e | 20 6f 66 20 6d 65 6d 62 |entation| of memb|
|00000ea0| 65 72 20 69 66 20 74 68 | 65 20 66 69 72 73 74 20 |er if th|e first |
|00000eb0| 61 72 67 75 6d 65 6e 74 | 20 69 73 20 6e 6f 74 20 |argument| is not |
|00000ec0| 61 6e 0d 09 09 09 09 09 | 09 09 6f 62 6a 65 63 74 |an......|..object|
|00000ed0| 7d 0d 7b 24 45 4e 44 43 | 7d 0d 09 09 43 6f 6e 74 |}.{$ENDC|}...Cont|
|00000ee0| 65 78 74 53 74 61 6d 70 | 3a 6c 6f 6e 67 69 6e 74 |extStamp|:longint|
|00000ef0| 3b 09 0d 09 09 09 09 09 | 09 09 7b 61 20 33 32 62 |;.......|..{a 32b|
|00000f00| 69 74 20 66 6c 61 67 20 | 74 6f 20 76 65 72 69 66 |it flag |to verif|
|00000f10| 79 20 63 6f 6e 74 65 78 | 74 20 63 6f 6e 74 69 6e |y contex|t contin|
|00000f20| 75 69 74 79 2e 20 30 3a | 6e 65 75 74 72 61 6c 2e |uity. 0:|neutral.|
|00000f30| 20 0d 09 09 09 09 09 09 | 09 54 6f 20 62 65 20 6d | .......|.To be m|
|00000f40| 61 74 63 68 65 64 20 77 | 69 74 68 20 4d 73 67 52 |atched w|ith MsgR|
|00000f50| 65 66 65 72 65 6e 63 65 | 20 69 6e 20 74 68 65 20 |eference| in the |
|00000f60| 4d 73 67 52 65 63 2e 20 | 54 68 69 73 20 66 6c 61 |MsgRec. |This fla|
|00000f70| 67 20 0d 09 09 09 09 09 | 09 09 69 73 20 73 70 65 |g ......|..is spe|
|00000f80| 63 69 66 69 63 20 74 6f | 20 61 20 6d 65 73 73 61 |cific to| a messa|
|00000f90| 67 65 20 68 61 6e 64 6c | 65 72 2e 20 4d 75 6c 74 |ge handl|er. Mult|
|00000fa0| 69 70 6c 65 20 63 6f 6e | 63 75 72 72 65 6e 74 0d |iple con|current.|
|00000fb0| 09 09 09 09 09 09 09 6d | 65 73 73 61 67 65 20 68 |.......m|essage h|
|00000fc0| 61 6e 64 6c 65 72 73 20 | 6d 61 79 20 68 61 76 65 |andlers |may have|
|00000fd0| 20 64 69 66 66 65 72 69 | 6e 67 20 63 6f 6e 74 65 | differi|ng conte|
|00000fe0| 78 74 20 73 74 61 6d 70 | 73 2e 7d 09 0d 0d 09 09 |xt stamp|s.}.....|
|00000ff0| 4e 72 50 65 6e 64 69 6e | 67 4d 65 73 73 61 67 65 |NrPendin|gMessage|
|00001000| 73 3a 6c 6f 6e 67 69 6e | 74 3b 0d 09 09 09 09 09 |s:longin|t;......|
|00001010| 09 09 7b 6e 75 6d 62 65 | 72 20 6f 66 20 70 65 6e |..{numbe|r of pen|
|00001020| 64 69 6e 67 20 6d 65 73 | 73 61 67 65 73 20 66 6f |ding mes|sages fo|
|00001030| 72 20 74 68 69 73 20 6d | 65 73 73 61 67 65 20 68 |r this m|essage h|
|00001040| 61 6e 64 6c 65 72 2e 20 | 44 6f 20 6e 6f 74 0d 09 |andler. |Do not..|
|00001050| 09 09 09 09 09 09 66 72 | 65 65 20 74 68 65 20 6d |......fr|ee the m|
|00001060| 65 73 73 61 67 65 20 68 | 61 6e 64 6c 65 72 20 75 |essage h|andler u|
|00001070| 6e 6c 65 73 73 20 4e 72 | 50 65 6e 64 69 6e 67 4d |nless Nr|PendingM|
|00001080| 65 73 73 61 67 65 73 20 | 69 73 20 7a 65 72 6f 7d |essages |is zero}|
|00001090| 0d 0d 09 09 7b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 20 73 |....{---|------ s|
|000010a0| 74 61 6e 64 61 72 64 20 | 6d 65 74 68 6f 64 73 20 |tandard |methods |
|000010b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2d 2d 2d 2d | | ----|
|000010c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010e0| 20 7d 0d 0d 09 09 70 72 | 6f 63 65 64 75 72 65 20 | }....pr|ocedure |
|000010f0| 74 4d 65 73 73 61 67 65 | 48 61 6e 64 6c 65 72 2e |tMessage|Handler.|
|00001100| 69 6e 69 74 3b 09 09 09 | 0d 09 20 20 09 09 09 09 |init;...|.. ....|
|00001110| 09 09 7b 6f 6e 63 65 20 | 6f 6e 6c 79 20 69 6e 69 |..{once |only ini|
|00001120| 74 69 61 6c 69 7a 61 74 | 69 6f 6e 2e 20 53 65 74 |tializat|ion. Set|
|00001130| 20 4e 72 50 65 6e 64 69 | 6e 67 4d 65 73 73 61 67 | NrPendi|ngMessag|
|00001140| 65 73 20 74 6f 20 7a 65 | 72 6f 20 61 6e 64 0d 09 |es to ze|ro and..|
|00001150| 09 09 09 09 09 09 63 61 | 6c 6c 73 20 72 65 73 74 |......ca|lls rest|
|00001160| 61 72 74 2e 7d 0d 09 09 | 0d 09 09 70 72 6f 63 65 |art.}...|...proce|
|00001170| 64 75 72 65 20 74 4d 65 | 73 73 61 67 65 48 61 6e |dure tMe|ssageHan|
|00001180| 64 6c 65 72 2e 72 65 73 | 74 61 72 74 3b 09 7b 75 |dler.res|tart;.{u|
|00001190| 73 65 20 74 68 69 73 20 | 66 6f 72 20 61 20 66 69 |se this |for a fi|
|000011a0| 72 73 74 20 73 74 61 72 | 74 20 6f 66 20 74 68 65 |rst star|t of the|
|000011b0| 20 0d 09 09 09 09 09 09 | 09 6d 65 73 73 61 67 65 | .......|.message|
|000011c0| 20 68 61 6e 64 6c 65 72 | 20 77 69 74 68 69 6e 20 | handler| within |
|000011d0| 61 20 63 6f 6e 74 65 78 | 74 2e 20 53 65 74 20 61 |a contex|t. Set a|
|000011e0| 20 6e 65 77 20 43 6f 6e | 74 65 78 74 53 74 61 6d | new Con|textStam|
|000011f0| 70 2e 7d 0d 0d 09 09 7b | 2d 2d 2d 2d 2d 2d 2d 2d |p.}....{|--------|
|00001200| 2d 20 6d 65 73 73 61 67 | 65 20 68 61 6e 64 6c 69 |- messag|e handli|
|00001210| 6e 67 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ng -----|--------|
|00001220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001240| 2d 2d 2d 20 7d 0d 0d 09 | 09 70 72 6f 63 65 64 75 |--- }...|.procedu|
|00001250| 72 65 20 74 4d 65 73 73 | 61 67 65 48 61 6e 64 6c |re tMess|ageHandl|
|00001260| 65 72 2e 53 74 61 6d 70 | 28 4d 73 67 3a 4d 73 67 |er.Stamp|(Msg:Msg|
|00001270| 50 74 72 29 3b 0d 09 09 | 09 09 09 09 09 7b 53 65 |Ptr);...|.....{Se|
|00001280| 74 20 69 64 65 6e 74 69 | 66 69 63 61 74 6f 72 20 |t identi|ficator |
|00001290| 66 69 65 6c 64 73 20 69 | 6e 20 6d 73 67 20 72 65 |fields i|n msg re|
|000012a0| 63 6f 72 64 2e 20 53 68 | 6f 75 6c 64 20 73 65 74 |cord. Sh|ould set|
|000012b0| 0d 09 09 09 09 09 09 09 | 4d 73 67 55 73 65 72 52 |........|MsgUserR|
|000012c0| 65 66 43 6f 6e 20 74 6f | 20 6c 6f 6e 67 69 6e 74 |efCon to| longint|
|000012d0| 28 73 65 6c 66 29 2e 0d | 09 09 09 09 09 09 09 49 |(self)..|.......I|
|000012e0| 6e 63 72 65 61 73 65 73 | 20 4e 72 50 65 6e 64 69 |ncreases| NrPendi|
|000012f0| 6e 67 4d 65 73 73 61 67 | 65 73 20 62 79 20 6f 6e |ngMessag|es by on|
|00001300| 65 2e 7d 0d 09 09 09 09 | 09 09 09 0d 09 09 66 75 |e.}.....|......fu|
|00001310| 6e 63 74 69 6f 6e 20 74 | 4d 65 73 73 61 67 65 48 |nction t|MessageH|
|00001320| 61 6e 64 6c 65 72 2e 44 | 69 73 70 6f 73 4d 73 67 |andler.D|isposMsg|
|00001330| 28 76 61 72 20 4d 73 67 | 3a 4d 73 67 50 74 72 29 |(var Msg|:MsgPtr)|
|00001340| 3a 4f 73 45 72 72 3b 0d | 09 09 09 09 09 09 09 7b |:OsErr;.|.......{|
|00001350| 52 65 6c 65 61 73 65 20 | 4d 73 67 20 61 6e 64 20 |Release |Msg and |
|00001360| 61 6c 6c 20 62 75 66 66 | 65 72 73 20 61 73 73 6f |all buff|ers asso|
|00001370| 63 69 61 74 65 64 20 77 | 69 74 68 20 4d 73 67 2e |ciated w|ith Msg.|
|00001380| 0d 09 09 09 09 09 09 09 | 52 65 64 75 63 65 20 4e |........|Reduce N|
|00001390| 72 50 65 6e 64 69 6e 67 | 4d 65 73 73 61 67 65 73 |rPending|Messages|
|000013a0| 20 62 79 20 6f 6e 65 2e | 7d 0d 0d 09 09 7b 2d 2d | by one.|}....{--|
|000013b0| 2d 2d 2d 2d 2d 2d 2d 20 | 6c 6f 77 20 6c 65 76 65 |------- |low leve|
|000013c0| 6c 20 62 75 66 66 65 72 | 20 61 6e 64 20 6d 65 73 |l buffer| and mes|
|000013d0| 73 61 67 65 20 68 61 6e | 64 6c 69 6e 67 20 2d 2d |sage han|dling --|
|000013e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 7d 0d 09 0d 09 |--------|-- }....|
|00001400| 09 66 75 6e 63 74 69 6f | 6e 20 74 4d 65 73 73 61 |.functio|n tMessa|
|00001410| 67 65 48 61 6e 64 6c 65 | 72 2e 4e 65 77 50 72 69 |geHandle|r.NewPri|
|00001420| 6f 50 74 72 28 76 61 72 | 20 50 72 69 6f 53 69 7a |oPtr(var| PrioSiz|
|00001430| 65 3a 6c 6f 6e 67 69 6e | 74 29 3a 70 74 72 3b 0d |e:longin|t):ptr;.|
|00001440| 09 09 09 09 09 09 09 7b | 41 6c 6c 6f 63 61 74 65 |.......{|Allocate|
|00001450| 20 61 20 6e 65 77 20 62 | 75 66 66 65 72 20 66 6f | a new b|uffer fo|
|00001460| 72 20 70 72 69 6f 72 69 | 74 79 20 64 61 74 61 2e |r priori|ty data.|
|00001470| 20 0d 09 09 09 09 09 09 | 09 45 6e 74 72 79 3a 20 | .......|.Entry: |
|00001480| 50 72 69 6f 53 69 7a 65 | 3d 52 65 71 75 65 73 74 |PrioSize|=Request|
|00001490| 65 64 20 73 69 7a 65 3b | 0d 09 09 09 09 09 09 09 |ed size;|........|
|000014a0| 45 78 69 74 3a 20 50 72 | 69 6f 53 69 7a 65 3d 41 |Exit: Pr|ioSize=A|
|000014b0| 6c 6c 6f 63 61 74 65 64 | 20 73 69 7a 65 3b 7d 0d |llocated| size;}.|
|000014c0| 09 09 09 09 09 09 09 0d | 09 09 66 75 6e 63 74 69 |........|..functi|
|000014d0| 6f 6e 20 74 4d 65 73 73 | 61 67 65 48 61 6e 64 6c |on tMess|ageHandl|
|000014e0| 65 72 2e 4e 65 77 43 6f | 72 65 50 74 72 28 76 61 |er.NewCo|rePtr(va|
|000014f0| 72 20 43 6f 72 65 53 69 | 7a 65 3a 6c 6f 6e 67 69 |r CoreSi|ze:longi|
|00001500| 6e 74 29 3a 70 74 72 3b | 0d 09 09 09 09 09 09 09 |nt):ptr;|........|
|00001510| 7b 41 6c 6c 6f 63 61 74 | 65 20 61 20 6e 65 77 20 |{Allocat|e a new |
|00001520| 62 75 66 66 65 72 20 66 | 6f 72 20 63 6f 72 65 20 |buffer f|or core |
|00001530| 64 61 74 61 2e 20 0d 09 | 09 09 09 09 09 09 45 6e |data. ..|......En|
|00001540| 74 72 79 3a 20 50 72 69 | 6f 53 69 7a 65 3d 52 65 |try: Pri|oSize=Re|
|00001550| 71 75 65 73 74 65 64 20 | 73 69 7a 65 3b 0d 09 09 |quested |size;...|
|00001560| 09 09 09 09 09 45 78 69 | 74 3a 20 50 72 69 6f 53 |.....Exi|t: PrioS|
|00001570| 69 7a 65 3d 41 6c 6c 6f | 63 61 74 65 64 20 73 69 |ize=Allo|cated si|
|00001580| 7a 65 3b 7d 0d 0d 09 09 | 70 72 6f 63 65 64 75 72 |ze;}....|procedur|
|00001590| 65 20 74 4d 65 73 73 61 | 67 65 48 61 6e 64 6c 65 |e tMessa|geHandle|
|000015a0| 72 2e 44 69 73 70 6f 73 | 50 72 69 6f 50 74 72 28 |r.Dispos|PrioPtr(|
|000015b0| 76 61 72 20 50 72 69 6f | 50 74 72 3a 55 4e 49 56 |var Prio|Ptr:UNIV|
|000015c0| 20 50 74 72 29 3b 0d 09 | 09 09 09 09 09 09 7b 44 | Ptr);..|......{D|
|000015d0| 69 73 70 6f 73 65 20 20 | 62 75 66 66 65 72 20 66 |ispose |buffer f|
|000015e0| 6f 72 20 70 72 69 6f 72 | 69 74 79 20 64 61 74 61 |or prior|ity data|
|000015f0| 2e 7d 0d 09 09 09 09 09 | 09 09 0d 09 09 70 72 6f |.}......|.....pro|
|00001600| 63 65 64 75 72 65 20 74 | 4d 65 73 73 61 67 65 48 |cedure t|MessageH|
|00001610| 61 6e 64 6c 65 72 2e 44 | 69 73 70 6f 73 43 6f 72 |andler.D|isposCor|
|00001620| 65 50 74 72 28 76 61 72 | 20 43 6f 72 65 50 74 72 |ePtr(var| CorePtr|
|00001630| 3a 55 4e 49 56 20 50 74 | 72 29 3b 0d 09 09 09 09 |:UNIV Pt|r);.....|
|00001640| 09 09 09 7b 44 69 73 70 | 6f 73 65 20 62 75 66 66 |...{Disp|ose buff|
|00001650| 65 72 20 66 6f 72 20 63 | 6f 72 65 20 64 61 74 61 |er for c|ore data|
|00001660| 2e 7d 0d 0d 09 09 66 75 | 6e 63 74 69 6f 6e 20 74 |.}....fu|nction t|
|00001670| 4d 65 73 73 61 67 65 48 | 61 6e 64 6c 65 72 2e 44 |MessageH|andler.D|
|00001680| 65 73 74 72 6f 79 28 76 | 61 72 20 4d 73 67 3a 4d |estroy(v|ar Msg:M|
|00001690| 73 67 50 74 72 29 3a 4f | 73 45 72 72 3b 0d 09 09 |sgPtr):O|sErr;...|
|000016a0| 09 09 09 09 09 7b 44 65 | 73 74 72 6f 79 20 74 68 |.....{De|stroy th|
|000016b0| 65 20 6d 65 73 73 61 67 | 65 20 72 65 63 6f 72 64 |e messag|e record|
|000016c0| 2c 20 61 6e 64 20 73 65 | 74 20 4d 73 67 20 74 6f |, and se|t Msg to|
|000016d0| 20 6e 69 6c 2e 0d 09 09 | 09 09 09 09 09 44 65 63 | nil....|.....Dec|
|000016e0| 72 65 61 73 65 73 20 4e | 72 50 65 6e 64 69 6e 67 |reases N|rPending|
|000016f0| 4d 65 73 73 61 67 65 73 | 20 62 79 20 6f 6e 65 2c |Messages| by one,|
|00001700| 20 62 75 74 20 64 6f 65 | 73 20 6e 6f 74 20 64 69 | but doe|s not di|
|00001710| 73 70 6f 73 65 20 62 75 | 66 66 65 72 73 2e 7d 0d |spose bu|ffers.}.|
|00001720| 09 09 09 09 09 09 09 0d | 09 65 6e 64 3b 0d 0d 0d |........|.end;...|
|00001730| 09 7b 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.{======|========|
|00001740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001760| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001770| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001780| 3d 3d 3d 3d 3d 3d 7d 0d | 09 7b 54 68 65 73 65 20 |======}.|.{These |
|00001790| 68 61 6e 64 6c 65 72 73 | 20 61 72 65 20 63 61 6c |handlers| are cal|
|000017a0| 6c 65 64 20 62 79 20 74 | 68 65 20 73 63 68 65 64 |led by t|he sched|
|000017b0| 75 6c 65 72 2e 20 54 68 | 65 79 20 69 6e 68 65 72 |uler. Th|ey inher|
|000017c0| 69 74 20 74 68 65 20 66 | 69 65 6c 64 73 20 6f 66 |it the f|ields of|
|000017d0| 0d 09 74 68 65 20 64 65 | 66 61 75 6c 74 20 6d 65 |..the de|fault me|
|000017e0| 73 73 61 67 65 20 68 61 | 6e 64 6c 65 72 20 61 6e |ssage ha|ndler an|
|000017f0| 64 20 61 64 64 20 74 68 | 65 69 72 20 6f 77 6e 20 |d add th|eir own |
|00001800| 65 78 74 65 6e 73 69 6f | 6e 73 2e 20 7d 0d 0d 0d |extensio|ns. }...|
|00001810| 09 7b 54 68 65 20 54 61 | 73 6b 48 61 6e 64 6c 65 |.{The Ta|skHandle|
|00001820| 72 20 6d 61 79 20 62 65 | 20 75 73 65 64 20 62 79 |r may be| used by|
|00001830| 20 62 6f 74 68 20 63 6f | 6d 70 75 74 65 20 73 65 | both co|mpute se|
|00001840| 72 76 65 72 73 20 61 6e | 64 20 63 6f 6d 70 75 74 |rvers an|d comput|
|00001850| 65 20 63 6c 69 65 6e 74 | 73 2e 7d 0d 0d 54 79 70 |e client|s.}..Typ|
|00001860| 65 20 74 54 61 73 6b 48 | 61 6e 64 6c 65 72 3d 6f |e tTaskH|andler=o|
|00001870| 62 6a 65 63 74 28 74 4d | 65 73 73 61 67 65 48 61 |bject(tM|essageHa|
|00001880| 6e 64 6c 65 72 29 0d 0d | 09 09 7b 2d 2d 2d 2d 2d |ndler)..|..{-----|
|00001890| 2d 2d 2d 2d 20 77 6f 72 | 6b 69 6e 67 20 73 70 61 |---- wor|king spa|
|000018a0| 63 65 20 66 6f 72 20 4d | 73 67 75 73 61 62 6c 65 |ce for M|sgusable|
|000018b0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -------|--------|
|000018c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 7d 0d |--------|----- }.|
|000018d0| 09 09 09 0d 09 09 0d 09 | 09 09 09 09 09 09 7b 22 |........|......{"|
|000018e0| 4d 61 73 74 65 72 22 20 | 61 64 64 72 65 73 73 20 |Master" |address |
|000018f0| 69 73 20 50 72 69 76 69 | 6c 65 67 65 64 41 64 64 |is Privi|legedAdd|
|00001900| 72 2e 20 0d 09 09 09 09 | 09 09 09 49 66 20 50 72 |r. .....|...If Pr|
|00001910| 69 76 69 6c 65 67 65 64 | 54 69 6d 65 6f 75 74 20 |ivileged|Timeout |
|00001920| 69 73 20 6e 6f 74 20 0d | 09 09 09 09 09 09 09 7a |is not .|.......z|
|00001930| 65 72 6f 2c 20 61 6e 64 | 20 6d 61 73 74 65 72 20 |ero, and| master |
|00001940| 69 73 20 6e 6f 74 20 74 | 69 6d 65 64 20 6f 75 74 |is not t|imed out|
|00001950| 2c 20 6f 6e 6c 79 20 0d | 09 09 09 09 09 09 09 6d |, only .|.......m|
|00001960| 65 73 73 61 67 65 73 20 | 66 72 6f 6d 20 74 68 69 |essages |from thi|
|00001970| 73 20 6f 72 69 67 69 6e | 20 77 69 6c 6c 20 62 65 |s origin| will be|
|00001980| 20 61 63 63 65 70 74 65 | 64 7d 0d 0d 09 09 50 72 | accepte|d}....Pr|
|00001990| 69 76 69 6c 65 67 65 64 | 49 6e 74 65 72 76 61 6c |ivileged|Interval|
|000019a0| 3a 09 6c 6f 6e 67 69 6e | 74 3b 09 0d 09 09 09 09 |:.longin|t;......|
|000019b0| 09 09 09 7b 74 69 6d 65 | 6f 75 74 20 69 6e 74 65 |...{time|out inte|
|000019c0| 72 76 61 6c 20 66 6f 72 | 20 6d 61 73 74 65 72 2e |rval for| master.|
|000019d0| 20 61 70 70 72 6f 78 69 | 6d 61 74 65 20 0d 09 09 | approxi|mate ...|
|000019e0| 09 09 09 09 09 6c 69 66 | 65 74 69 6d 65 20 6f 66 |.....lif|etime of|
|000019f0| 20 66 61 69 74 68 66 75 | 6c 6e 65 73 73 20 74 6f | faithfu|lness to|
|00001a00| 20 50 72 69 76 69 6c 65 | 67 65 64 41 64 64 72 7d | Privile|gedAddr}|
|00001a10| 0d 09 09 09 09 09 09 09 | 0d 09 09 50 72 69 76 69 |........|...Privi|
|00001a20| 6c 65 67 65 64 54 69 6d | 65 6f 75 74 3a 09 6c 6f |legedTim|eout:.lo|
|00001a30| 6e 67 69 6e 74 3b 09 09 | 09 09 09 0d 09 09 09 09 |ngint;..|........|
|00001a40| 09 09 09 7b 6e 65 78 74 | 20 74 69 6d 65 6f 75 74 |...{next| timeout|
|00001a50| 20 70 6f 69 6e 74 0d 09 | 09 09 09 09 09 09 3d 6c | point..|......=l|
|00001a60| 61 73 74 20 65 6e 63 6f | 75 6e 74 65 72 2b 50 72 |ast enco|unter+Pr|
|00001a70| 69 76 69 6c 65 67 65 64 | 49 6e 74 65 72 76 61 6c |ivileged|Interval|
|00001a80| 0d 09 09 09 09 09 09 09 | 30 3a 20 6e 6f 20 70 72 |........|0: no pr|
|00001a90| 69 76 69 6c 65 67 65 64 | 20 64 65 66 69 6e 65 64 |ivileged| defined|
|00001aa0| 7d 0d 09 09 0d 09 09 50 | 72 69 76 69 6c 65 67 65 |}......P|rivilege|
|00001ab0| 64 41 64 64 72 3a 09 09 | 4d 73 67 41 64 64 72 3b |dAddr:..|MsgAddr;|
|00001ac0| 0d 09 09 09 09 09 09 09 | 7b 61 64 64 72 65 73 73 |........|{address|
|00001ad0| 20 6f 66 20 70 72 69 76 | 69 6c 65 67 65 64 20 75 | of priv|ileged u|
|00001ae0| 73 65 72 2e 20 76 61 6c | 69 64 20 69 66 0d 09 09 |ser. val|id if...|
|00001af0| 09 09 09 09 09 50 72 69 | 76 69 6c 65 67 65 64 54 |.....Pri|vilegedT|
|00001b00| 69 6d 65 6f 75 74 ad 30 | 7d 0d 09 09 09 09 09 09 |imeout.0|}.......|
|00001b10| 09 0d 09 09 75 73 61 62 | 6c 65 43 61 70 61 73 3a |....usab|leCapas:|
|00001b20| 09 09 6c 6f 6e 67 69 6e | 74 3b 0d 09 09 0d 0d 09 |..longin|t;......|
|00001b30| 09 7b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 73 74 61 6e |.{------|--- stan|
|00001b40| 64 61 72 64 20 6d 65 74 | 68 6f 64 73 20 20 20 20 |dard met|hods |
|00001b50| 20 20 20 20 20 20 20 20 | 20 2d 2d 2d 2d 2d 2d 2d | | -------|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 7d 0d |--------|----- }.|
|00001b80| 0d 09 09 70 72 6f 63 65 | 64 75 72 65 20 74 54 61 |...proce|dure tTa|
|00001b90| 73 6b 48 61 6e 64 6c 65 | 72 2e 69 6e 69 74 3b 09 |skHandle|r.init;.|
|00001ba0| 6f 76 65 72 72 69 64 65 | 3b 09 09 0d 09 20 20 09 |override|;.... .|
|00001bb0| 09 09 09 09 09 7b 6f 6e | 63 65 20 6f 6e 6c 79 20 |.....{on|ce only |
|00001bc0| 69 6e 69 74 69 61 6c 69 | 7a 61 74 69 6f 6e 2e 20 |initiali|zation. |
|00001bd0| 77 69 6c 6c 20 62 65 20 | 63 61 6c 6c 65 64 20 62 |will be |called b|
|00001be0| 79 0d 09 09 09 09 09 09 | 09 74 68 65 20 73 63 68 |y.......|.the sch|
|00001bf0| 65 64 75 6c 65 72 20 6f | 6e 20 69 6e 73 74 61 6c |eduler o|n instal|
|00001c00| 6c 61 74 69 6f 6e 2e 7d | 0d 09 09 70 72 6f 63 65 |lation.}|...proce|
|00001c10| 64 75 72 65 20 74 54 61 | 73 6b 48 61 6e 64 6c 65 |dure tTa|skHandle|
|00001c20| 72 2e 72 65 73 74 61 72 | 74 3b 6f 76 65 72 72 69 |r.restar|t;overri|
|00001c30| 64 65 3b 0d 09 09 09 09 | 09 09 09 7b 72 65 73 74 |de;.....|...{rest|
|00001c40| 61 72 74 20 74 68 65 20 | 72 65 63 65 69 76 65 72 |art the |receiver|
|00001c50| 2e 20 53 65 74 73 20 43 | 6f 6e 74 65 78 74 53 74 |. Sets C|ontextSt|
|00001c60| 61 6d 70 20 74 6f 20 61 | 20 6e 65 75 74 72 61 6c |amp to a| neutral|
|00001c70| 20 69 64 65 6e 74 69 66 | 69 65 72 2e 7d 0d 09 09 | identif|ier.}...|
|00001c80| 09 09 09 09 09 0d 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00001c90| 09 09 09 09 0d 09 09 7b | 2d 2d 2d 2d 2d 2d 2d 2d |.......{|--------|
|00001ca0| 2d 20 70 72 6f 62 6c 65 | 6d 20 73 70 65 63 69 66 |- proble|m specif|
|00001cb0| 69 63 20 6d 65 74 68 6f | 64 73 20 20 20 20 2d 2d |ic metho|ds --|
|00001cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ce0| 2d 2d 20 7d 0d 09 09 0d | 09 09 0d 09 09 0d 09 09 |-- }....|........|
|00001cf0| 66 75 6e 63 74 69 6f 6e | 20 74 54 61 73 6b 48 61 |function| tTaskHa|
|00001d00| 6e 64 6c 65 72 2e 4d 73 | 67 48 65 61 64 65 72 75 |ndler.Ms|gHeaderu|
|00001d10| 73 61 62 6c 65 28 76 61 | 72 20 6d 73 67 3a 4d 73 |sable(va|r msg:Ms|
|00001d20| 67 50 74 72 29 3a 62 6f | 6f 6c 65 61 6e 3b 0d 09 |gPtr):bo|olean;..|
|00001d30| 09 09 09 09 09 09 7b 2d | 2d 2d 2d 2d 2d 2d 2d 2d |......{-|--------|
|00001d40| 20 54 68 69 73 20 66 75 | 6e 63 74 69 6f 6e 20 6d | This fu|nction m|
|00001d50| 61 79 20 62 65 20 63 75 | 73 74 6f 6d 69 7a 65 64 |ay be cu|stomized|
|00001d60| 20 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ------|--------|
|00001d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 7d 0d 09 09 09 |--------|---}....|
|00001d80| 09 09 09 09 7b 63 68 65 | 63 6b 20 69 6e 63 6f 6d |....{che|ck incom|
|00001d90| 69 6e 67 20 6d 65 73 73 | 61 67 65 20 77 68 65 74 |ing mess|age whet|
|00001da0| 68 65 72 20 69 74 20 69 | 73 20 69 6e 20 63 6f 6e |her it i|s in con|
|00001db0| 74 65 78 74 2e 20 54 68 | 69 73 20 70 72 6f 63 65 |text. Th|is proce|
|00001dc0| 64 75 72 65 20 73 68 6f | 75 6c 64 0d 09 09 09 09 |dure sho|uld.....|
|00001dd0| 09 09 09 66 69 6c 74 65 | 72 20 6f 75 74 20 61 6c |...filte|r out al|
|00001de0| 6c 20 73 74 72 61 79 20 | 6d 65 73 73 61 67 65 73 |l stray |messages|
|00001df0| 20 77 68 69 63 68 20 6d | 61 79 20 72 65 73 75 6c | which m|ay resul|
|00001e00| 74 20 66 72 6f 6d 20 6d | 75 6c 74 69 70 6c 65 20 |t from m|ultiple |
|00001e10| 75 73 65 72 73 0d 09 09 | 09 09 09 09 09 6f 66 20 |users...|.....of |
|00001e20| 74 68 65 20 6e 65 74 77 | 6f 72 6b 20 63 6f 6d 6d |the netw|ork comm|
|00001e30| 75 6e 69 63 61 74 69 6f | 6e 20 73 79 73 74 65 6d |unicatio|n system|
|00001e40| 2e 0d 09 09 09 09 09 09 | 09 54 68 65 20 64 65 66 |........|.The def|
|00001e50| 61 75 6c 74 20 64 6f 65 | 73 20 61 20 70 72 65 2d |ault doe|s a pre-|
|00001e60| 63 68 65 63 6b 20 6f 66 | 20 74 68 65 20 6d 61 73 |check of| the mas|
|00001e70| 74 65 72 2c 20 61 6e 64 | 20 75 70 64 61 74 65 73 |ter, and| updates|
|00001e80| 20 74 68 65 20 6d 61 73 | 74 65 72 20 0d 09 09 09 | the mas|ter ....|
|00001e90| 09 09 09 09 69 6e 66 6f | 20 69 66 20 61 70 70 72 |....info| if appr|
|00001ea0| 6f 70 72 69 61 74 65 2e | 20 0d 09 09 0d 09 09 09 |opriate.| .......|
|00001eb0| 09 09 09 09 43 75 73 74 | 6f 6d 69 7a 61 74 69 6f |....Cust|omizatio|
|00001ec0| 6e 20 73 68 6f 75 6c 64 | 20 76 65 72 69 66 79 20 |n should| verify |
|00001ed0| 74 68 65 20 63 6f 6e 74 | 65 78 74 20 77 6f 72 64 |the cont|ext word|
|00001ee0| 20 61 73 20 77 65 6c 6c | 2e 0d 09 09 09 09 09 09 | as well|........|
|00001ef0| 09 52 65 74 75 72 6e 73 | 20 74 72 75 65 20 69 66 |.Returns| true if|
|00001f00| 20 74 68 65 20 6d 65 73 | 73 61 67 65 20 69 73 20 | the mes|sage is |
|00001f10| 61 63 63 65 70 74 61 62 | 6c 65 20 66 6f 72 20 66 |acceptab|le for f|
|00001f20| 75 72 74 68 65 72 20 70 | 72 6f 63 65 73 73 69 6e |urther p|rocessin|
|00001f30| 67 2e 7d 0d 0d 09 09 66 | 75 6e 63 74 69 6f 6e 20 |g.}....f|unction |
|00001f40| 74 54 61 73 6b 48 61 6e | 64 6c 65 72 2e 4d 73 67 |tTaskHan|dler.Msg|
|00001f50| 55 73 61 62 6c 65 28 76 | 61 72 20 6d 73 67 3a 4d |Usable(v|ar msg:M|
|00001f60| 73 67 50 74 72 29 3a 62 | 6f 6f 6c 65 61 6e 3b 0d |sgPtr):b|oolean;.|
|00001f70| 09 09 09 09 09 09 09 7b | 2d 2d 2d 2d 2d 2d 2d 2d |.......{|--------|
|00001f80| 2d 20 54 68 69 73 20 66 | 75 6e 63 74 69 6f 6e 20 |- This f|unction |
|00001f90| 6d 61 79 20 62 65 20 63 | 75 73 74 6f 6d 69 7a 65 |may be c|ustomize|
|00001fa0| 64 20 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d -----|--------|
|00001fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 7d 0d 09 09 |--------|----}...|
|00001fc0| 09 09 09 09 09 7b 63 68 | 65 63 6b 20 69 6e 63 6f |.....{ch|eck inco|
|00001fd0| 6d 69 6e 67 20 6d 65 73 | 73 61 67 65 20 77 68 65 |ming mes|sage whe|
|00001fe0| 74 68 65 72 20 69 74 20 | 69 73 20 75 73 61 62 6c |ther it |is usabl|
|00001ff0| 65 2e 20 57 69 6c 6c 20 | 62 65 20 63 61 6c 6c 65 |e. Will |be calle|
|00002000| 64 20 61 66 74 65 72 20 | 74 68 65 0d 09 09 09 09 |d after |the.....|
|00002010| 09 09 09 63 6f 6e 74 65 | 78 74 20 68 61 73 20 62 |...conte|xt has b|
|00002020| 65 65 65 6e 20 63 68 65 | 63 6b 65 64 2e 20 54 68 |eeen che|cked. Th|
|00002030| 69 73 20 70 72 6f 63 65 | 64 75 72 65 20 73 68 6f |is proce|dure sho|
|00002040| 75 6c 64 0d 09 09 09 09 | 09 09 09 66 69 6c 74 65 |uld.....|...filte|
|00002050| 72 20 6f 75 74 20 61 6c | 6c 20 6f 75 74 64 61 74 |r out al|l outdat|
|00002060| 65 64 20 6d 65 73 73 61 | 67 65 73 2e 7d 0d 09 09 |ed messa|ges.}...|
|00002070| 0d 09 09 0d 09 09 70 72 | 6f 63 65 64 75 72 65 20 |......pr|ocedure |
|00002080| 74 54 61 73 6b 48 61 6e | 64 6c 65 72 2e 4d 73 67 |tTaskHan|dler.Msg|
|00002090| 45 76 61 6c 75 61 74 69 | 6f 6e 28 76 61 72 20 6d |Evaluati|on(var m|
|000020a0| 73 67 3a 4d 73 67 50 74 | 72 29 3b 0d 09 09 09 09 |sg:MsgPt|r);.....|
|000020b0| 09 09 09 7b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 54 68 |...{----|----- Th|
|000020c0| 69 73 20 66 75 6e 63 74 | 69 6f 6e 20 6d 75 73 74 |is funct|ion must|
|000020d0| 20 62 65 20 63 75 73 74 | 6f 6d 69 7a 65 64 20 2d | be cust|omized -|
|000020e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020f0| 2d 2d 2d 2d 2d 2d 2d 2d | 7d 0d 09 09 09 09 09 09 |--------|}.......|
|00002100| 09 7b 65 76 61 6c 75 61 | 74 65 20 69 6e 66 6f 72 |.{evalua|te infor|
|00002110| 6d 61 74 69 6f 6e 2e 20 | 44 6f 20 6e 6f 74 20 67 |mation. |Do not g|
|00002120| 65 6e 65 72 61 74 65 20 | 6e 65 77 20 74 61 73 6b |enerate |new task|
|00002130| 20 61 73 20 61 20 72 65 | 73 70 6f 6e 73 65 2e 7d | as a re|sponse.}|
|00002140| 0d 09 65 6e 64 3b 0d 0d | 0d 0d 09 7b 3d 3d 3d 3d |..end;..|...{====|
|00002150| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002160| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002170| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002180| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002190| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000021a0| 7d 0d 0d 09 7b 54 68 65 | 20 54 61 73 6b 47 65 6e |}...{The| TaskGen|
|000021b0| 65 72 61 74 6f 72 20 77 | 69 6c 6c 20 62 65 20 75 |erator w|ill be u|
|000021c0| 73 65 64 20 6f 6e 6c 79 | 20 62 79 20 63 6f 6d 70 |sed only| by comp|
|000021d0| 75 74 65 20 63 6c 69 65 | 6e 74 73 2e 7d 0d 0d 54 |ute clie|nts.}..T|
|000021e0| 79 70 65 20 74 54 61 73 | 6b 47 65 6e 65 72 61 74 |ype tTas|kGenerat|
|000021f0| 6f 72 3d 6f 62 6a 65 63 | 74 28 74 4d 65 73 73 61 |or=objec|t(tMessa|
|00002200| 67 65 48 61 6e 64 6c 65 | 72 29 0d 0d 09 09 7b 2d |geHandle|r)....{-|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 20 74 69 6d 69 6e 67 20 |--------| timing |
|00002220| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 66 6f 72 20 |informat|ion for |
|00002230| 73 63 68 65 64 75 6c 65 | 72 20 20 20 20 2d 2d 2d |schedule|r ---|
|00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 7d 0d 0d 09 09 |--------|-- }....|
|00002260| 57 61 69 74 49 6e 74 65 | 72 76 61 6c 3a 6c 6f 6e |WaitInte|rval:lon|
|00002270| 67 69 6e 74 3b 09 7b 61 | 70 70 72 6f 78 69 6d 61 |gint;.{a|pproxima|
|00002280| 74 65 20 69 6e 74 65 72 | 76 61 6c 20 74 6f 20 77 |te inter|val to w|
|00002290| 61 69 74 20 62 65 66 6f | 72 65 20 6e 65 77 20 74 |ait befo|re new t|
|000022a0| 61 73 6b 7d 0d 09 09 54 | 69 63 6b 6c 65 49 6e 74 |ask}...T|ickleInt|
|000022b0| 65 72 76 61 6c 3a 6c 6f | 6e 67 69 6e 74 3b 09 7b |erval:lo|ngint;.{|
|000022c0| 61 70 70 72 6f 78 69 6d | 61 74 65 20 69 6e 74 65 |approxim|ate inte|
|000022d0| 72 76 61 6c 20 66 6f 72 | 20 74 72 79 69 6e 67 20 |rval for| trying |
|000022e0| 66 6f 72 20 61 20 6e 65 | 77 20 0d 09 09 09 09 09 |for a ne|w ......|
|000022f0| 09 09 09 72 61 6e 64 6f | 6d 20 70 61 72 74 6e 65 |...rando|m partne|
|00002300| 72 20 61 70 70 72 6f 78 | 69 6d 61 74 65 6c 79 20 |r approx|imately |
|00002310| 28 69 6e 20 74 69 63 6b | 73 29 7d 0d 0d 0d 0d 09 |(in tick|s)}.....|
|00002320| 09 7b 2d 2d 2d 2d 2d 2d | 2d 2d 2d 20 77 6f 72 6b |.{------|--- work|
|00002330| 69 6e 67 20 73 70 61 63 | 65 20 66 6f 72 20 4e 65 |ing spac|e for Ne|
|00002340| 77 4d 73 67 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |wMsg ---|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 20 7d 0d 09 09 09 0d | 09 09 09 09 0d 09 09 44 |- }.....|.......D|
|00002370| 65 66 61 75 6c 74 43 61 | 70 61 73 56 65 72 62 3a |efaultCa|pasVerb:|
|00002380| 09 6c 6f 6e 67 69 6e 74 | 3b 0d 09 09 09 09 09 09 |.longint|;.......|
|00002390| 09 7b 44 65 66 61 75 6c | 74 73 20 66 6f 72 20 43 |.{Defaul|ts for C|
|000023a0| 61 70 61 73 56 65 72 62 | 7d 0d 0d 09 09 7b 2d 2d |apasVerb|}....{--|
|000023b0| 2d 2d 2d 2d 2d 2d 2d 20 | 73 74 61 6e 64 61 72 64 |------- |standard|
|000023c0| 20 6d 65 74 68 6f 64 73 | 20 20 20 20 20 20 20 20 | methods| |
|000023d0| 20 20 20 20 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ---|--------|
|000023e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000023f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 7d 0d 0d 09 09 70 |--------|- }....p|
|00002400| 72 6f 63 65 64 75 72 65 | 20 74 54 61 73 6b 47 65 |rocedure| tTaskGe|
|00002410| 6e 65 72 61 74 6f 72 2e | 69 6e 69 74 3b 6f 76 65 |nerator.|init;ove|
|00002420| 72 72 69 64 65 3b 0d 09 | 09 09 09 09 09 09 09 7b |rride;..|.......{|
|00002430| 6f 6e 63 65 20 6f 6e 6c | 79 20 69 6e 69 74 69 61 |once onl|y initia|
|00002440| 6c 69 7a 61 74 69 6f 6e | 2e 20 77 69 6c 6c 20 62 |lization|. will b|
|00002450| 65 20 63 61 6c 6c 65 64 | 20 62 79 20 74 68 65 20 |e called| by the |
|00002460| 0d 09 09 09 09 09 09 09 | 09 73 63 68 65 64 75 6c |........|.schedul|
|00002470| 65 72 20 6f 6e 20 69 6e | 73 74 61 6c 6c 61 74 69 |er on in|stallati|
|00002480| 6f 6e 2e 7d 0d 09 09 0d | 09 09 70 72 6f 63 65 64 |on.}....|..proced|
|00002490| 75 72 65 20 74 54 61 73 | 6b 47 65 6e 65 72 61 74 |ure tTas|kGenerat|
|000024a0| 6f 72 2e 72 65 73 74 61 | 72 74 3b 6f 76 65 72 72 |or.resta|rt;overr|
|000024b0| 69 64 65 3b 0d 09 09 09 | 09 09 09 09 09 7b 52 65 |ide;....|.....{Re|
|000024c0| 73 74 61 72 74 20 66 6f | 72 20 61 20 6e 65 77 20 |start fo|r a new |
|000024d0| 63 6f 6e 74 65 78 74 2e | 20 53 65 74 73 20 43 6f |context.| Sets Co|
|000024e0| 6e 74 65 78 74 53 74 61 | 6d 70 20 74 6f 20 61 20 |ntextSta|mp to a |
|000024f0| 20 0d 09 09 09 09 09 09 | 09 09 6e 65 77 20 72 61 | .......|..new ra|
|00002500| 6e 64 6f 6d 20 69 64 65 | 6e 74 69 66 69 65 72 2e |ndom ide|ntifier.|
|00002510| 20 7d 0d 09 0d 09 09 70 | 72 6f 63 65 64 75 72 65 | }.....p|rocedure|
|00002520| 20 74 54 61 73 6b 47 65 | 6e 65 72 61 74 6f 72 2e | tTaskGe|nerator.|
|00002530| 53 74 61 6d 70 28 4d 73 | 67 3a 4d 73 67 50 74 72 |Stamp(Ms|g:MsgPtr|
|00002540| 29 3b 20 6f 76 65 72 72 | 69 64 65 3b 0d 09 09 09 |); overr|ide;....|
|00002550| 09 09 09 09 09 7b 53 65 | 74 20 4d 73 67 52 65 66 |.....{Se|t MsgRef|
|00002560| 65 72 65 6e 63 65 20 74 | 6f 20 61 20 75 6e 69 71 |erence t|o a uniq|
|00002570| 75 65 20 69 64 65 6e 74 | 69 66 69 65 72 2e 7d 0d |ue ident|ifier.}.|
|00002580| 09 09 09 09 09 09 09 0d | 09 09 7b 2d 2d 2d 2d 2d |........|..{-----|
|00002590| 2d 2d 2d 2d 20 54 68 69 | 73 20 66 75 6e 63 74 69 |---- Thi|s functi|
|000025a0| 6f 6e 20 6d 75 73 74 20 | 62 65 20 63 75 73 74 6f |on must |be custo|
|000025b0| 6d 69 7a 65 64 20 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |mized -|--------|
|000025c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025d0| 7d 0d 09 09 66 75 6e 63 | 74 69 6f 6e 20 74 54 61 |}...func|tion tTa|
|000025e0| 73 6b 47 65 6e 65 72 61 | 74 6f 72 2e 4e 65 77 54 |skGenera|tor.NewT|
|000025f0| 61 73 6b 28 76 61 72 20 | 4d 73 67 3a 4d 73 67 50 |ask(var |Msg:MsgP|
|00002600| 74 72 29 3a 62 6f 6f 6c | 65 61 6e 3b 0d 09 09 09 |tr):bool|ean;....|
|00002610| 09 09 09 09 09 7b 49 66 | 20 61 20 6e 65 77 20 6d |.....{If| a new m|
|00002620| 65 73 73 61 67 65 20 63 | 61 6e 20 62 65 20 64 65 |essage c|an be de|
|00002630| 66 69 6e 65 64 2c 20 73 | 65 74 20 75 70 20 62 75 |fined, s|et up bu|
|00002640| 66 66 65 72 73 2c 0d 09 | 09 09 09 09 09 09 09 61 |ffers,..|.......a|
|00002650| 64 6a 75 73 74 20 74 68 | 65 20 66 69 65 6c 64 73 |djust th|e fields|
|00002660| 20 6f 66 20 4d 73 67 5e | 20 61 73 20 61 70 70 72 | of Msg^| as appr|
|00002670| 6f 70 72 69 61 74 65 2c | 20 73 74 61 6d 70 20 74 |opriate,| stamp t|
|00002680| 68 65 0d 09 09 09 09 09 | 09 09 09 6d 65 73 73 61 |he......|...messa|
|00002690| 67 65 20 61 6e 64 20 72 | 65 74 75 72 6e 20 74 72 |ge and r|eturn tr|
|000026a0| 75 65 2e 20 49 66 20 6e | 6f 20 6e 65 77 20 6d 65 |ue. If n|o new me|
|000026b0| 73 73 61 67 65 0d 09 09 | 09 09 09 09 09 09 73 68 |ssage...|......sh|
|000026c0| 6f 75 6c 64 20 62 65 20 | 64 65 66 69 6e 65 64 2c |ould be |defined,|
|000026d0| 20 72 65 74 75 72 6e 20 | 66 61 6c 73 65 7d 0d 09 | return |false}..|
|000026e0| 09 0d 09 65 6e 64 3b 0d | 0d 09 7b 3d 3d 3d 3d 3d |...end;.|..{=====|
|000026f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002700| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002710| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002720| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 7d |========|=======}|
|00002740| 0d 0d 0d 09 7b 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....{---|--------|
|00002750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002780| 2d 2d 2d 2d 7d 0d 09 7b | 09 43 6f 68 61 6e 64 6c |----}..{|.Cohandl|
|00002790| 65 72 09 0d 09 54 68 69 | 73 20 69 73 20 61 20 63 |er...Thi|s is a c|
|000027a0| 6f 75 72 74 65 73 79 20 | 65 6e 74 72 79 20 74 6f |ourtesy |entry to|
|000027b0| 20 61 6c 6c 6f 77 20 65 | 78 70 65 72 69 6d 65 6e | allow e|xperimen|
|000027c0| 74 73 20 77 69 74 68 20 | 73 6d 61 72 74 20 73 63 |ts with |smart sc|
|000027d0| 68 65 64 75 6c 65 72 73 | 0d 09 64 79 6e 61 6d 69 |hedulers|..dynami|
|000027e0| 63 61 6c 6c 79 20 77 69 | 74 68 6f 75 74 20 63 68 |cally wi|thout ch|
|000027f0| 61 6e 67 69 6e 67 20 74 | 68 65 20 53 63 68 65 64 |anging t|he Sched|
|00002800| 75 6c 65 72 20 69 74 73 | 65 6c 66 2e 20 49 74 20 |uler its|elf. It |
|00002810| 6d 61 79 20 72 75 6e 20 | 69 74 73 20 0d 09 73 74 |may run |its ..st|
|00002820| 61 74 69 73 74 69 63 73 | 20 6f 6e 20 69 6e 63 6f |atistics| on inco|
|00002830| 6d 69 6e 67 20 74 61 73 | 6b 73 2c 20 61 6e 64 20 |ming tas|ks, and |
|00002840| 61 64 61 70 74 20 74 68 | 65 20 54 61 73 6b 47 65 |adapt th|e TaskGe|
|00002850| 6e 65 72 61 74 6f 72 27 | 73 20 69 74 65 72 61 74 |nerator'|s iterat|
|00002860| 69 6f 6e 73 0d 09 61 6e | 64 20 74 61 73 6b 20 69 |ions..an|d task i|
|00002870| 64 20 61 73 20 61 70 70 | 72 6f 70 72 69 61 74 65 |d as app|ropriate|
|00002880| 2e 7d 0d 0d 54 79 70 65 | 20 74 53 63 68 65 64 75 |.}..Type| tSchedu|
|00002890| 6c 65 72 50 68 61 73 65 | 3d 28 70 55 6e 64 65 66 |lerPhase|=(pUndef|
|000028a0| 69 6e 65 64 2c 70 55 73 | 61 62 6c 65 2c 70 55 6e |ined,pUs|able,pUn|
|000028b0| 55 73 61 62 6c 65 2c 0d | 09 70 53 74 61 72 74 4e |Usable,.|.pStartN|
|000028c0| 65 77 54 61 73 6b 2c 70 | 4e 65 77 54 61 73 6b 44 |ewTask,p|NewTaskD|
|000028d0| 6f 6e 65 2c 70 4e 6f 4e | 65 77 54 61 73 6b 2c 70 |one,pNoN|ewTask,p|
|000028e0| 53 65 6e 64 4d 65 73 73 | 61 67 65 2c 70 52 65 70 |SendMess|age,pRep|
|000028f0| 6c 79 4d 65 73 73 61 67 | 65 2c 0d 09 70 48 6f 75 |lyMessag|e,..pHou|
|00002900| 73 65 6b 65 65 70 69 6e | 67 44 65 73 74 72 6f 79 |sekeepin|gDestroy|
|00002910| 2c 70 49 6e 69 74 2c 70 | 46 72 65 65 2c 0d 09 70 |,pInit,p|Free,..p|
|00002920| 41 63 63 65 70 74 4d 73 | 67 29 3b 0d 0d 54 79 70 |AcceptMs|g);..Typ|
|00002930| 65 20 74 53 63 68 65 64 | 75 6c 65 72 43 6f 68 61 |e tSched|ulerCoha|
|00002940| 6e 64 6c 65 72 3d 6f 62 | 6a 65 63 74 28 74 4f 62 |ndler=ob|ject(tOb|
|00002950| 6a 65 63 74 29 0d 09 09 | 70 72 6f 63 65 64 75 72 |ject)...|procedur|
|00002960| 65 20 74 53 63 68 65 64 | 75 6c 65 72 43 6f 68 61 |e tSched|ulerCoha|
|00002970| 6e 64 6c 65 72 2e 43 6f | 48 61 6e 64 6c 65 28 63 |ndler.Co|Handle(c|
|00002980| 6d 64 3a 74 53 63 68 65 | 64 75 6c 65 72 50 68 61 |md:tSche|dulerPha|
|00002990| 73 65 3b 6d 73 67 3a 4d | 73 67 50 74 72 29 3b 0d |se;msg:M|sgPtr);.|
|000029a0| 09 09 0d 09 09 70 72 6f | 63 65 64 75 72 65 20 74 |.....pro|cedure t|
|000029b0| 53 63 68 65 64 75 6c 65 | 72 43 6f 68 61 6e 64 6c |Schedule|rCohandl|
|000029c0| 65 72 2e 72 65 73 65 74 | 3b 0d 09 65 6e 64 3b 0d |er.reset|;..end;.|
|000029d0| 0d 09 7b 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..{=====|========|
|000029e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000029f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a20| 3d 3d 3d 3d 3d 3d 3d 7d | 0d 54 79 70 65 0d 09 74 |=======}|.Type..t|
|00002a30| 53 63 68 65 64 75 6c 65 | 72 3d 6f 62 6a 65 63 74 |Schedule|r=object|
|00002a40| 28 74 4f 62 6a 65 63 74 | 29 0d 0d 09 09 4d 79 53 |(tObject|)....MyS|
|00002a50| 65 6c 66 3a 4d 73 67 41 | 64 64 72 3b 09 09 09 09 |elf:MsgA|ddr;....|
|00002a60| 09 09 7b 74 68 65 20 61 | 64 64 72 65 73 73 20 61 |..{the a|ddress a|
|00002a70| 6e 64 20 74 79 70 65 20 | 74 68 69 73 20 73 63 68 |nd type |this sch|
|00002a80| 65 64 75 6c 65 72 20 69 | 73 20 69 6e 73 74 61 6c |eduler i|s instal|
|00002a90| 6c 65 64 20 61 74 7d 0d | 09 09 4d 79 54 72 61 6e |led at}.|..MyTran|
|00002aa0| 73 70 6f 72 74 3a 54 72 | 61 6e 73 70 6f 72 74 50 |sport:Tr|ansportP|
|00002ab0| 74 72 3b 09 09 09 7b 74 | 68 65 20 74 72 61 6e 73 |tr;...{t|he trans|
|00002ac0| 70 6f 72 74 20 73 79 73 | 74 65 6d 20 63 6f 72 72 |port sys|tem corr|
|00002ad0| 65 73 70 6f 6e 64 69 6e | 67 20 74 6f 20 74 68 69 |espondin|g to thi|
|00002ae0| 73 20 61 64 64 72 65 73 | 73 7d 09 0d 09 09 0d 09 |s addres|s}......|
|00002af0| 09 72 65 63 65 69 76 69 | 6e 67 3a 62 6f 6f 6c 65 |.receivi|ng:boole|
|00002b00| 61 6e 3b 09 09 09 09 09 | 7b 72 65 63 65 69 76 69 |an;.....|{receivi|
|00002b10| 6e 67 20 69 73 20 73 75 | 70 70 6f 72 74 65 64 20 |ng is su|pported |
|00002b20| 70 6c 61 63 65 20 72 65 | 63 65 69 76 69 6e 67 20 |place re|ceiving |
|00002b30| 69 73 20 74 72 75 65 2e | 20 0d 09 09 09 09 09 09 |is true.| .......|
|00002b40| 09 09 09 09 09 41 20 54 | 61 73 6b 48 61 6e 64 6c |.....A T|askHandl|
|00002b50| 65 72 20 6d 75 73 74 20 | 62 65 20 69 6e 73 74 61 |er must |be insta|
|00002b60| 6c 6c 65 64 7d 0d 09 09 | 09 09 09 09 09 09 09 09 |lled}...|........|
|00002b70| 09 0d 09 09 73 65 6e 64 | 69 6e 67 3a 62 6f 6f 6c |....send|ing:bool|
|00002b80| 65 61 6e 3b 09 09 09 09 | 09 7b 54 61 73 6b 47 65 |ean;....|.{TaskGe|
|00002b90| 6e 65 72 61 74 69 6f 6e | 20 61 6e 64 20 73 65 6e |neration| and sen|
|00002ba0| 64 69 6e 67 20 69 73 20 | 73 75 70 70 6f 72 74 65 |ding is |supporte|
|00002bb0| 64 20 0d 09 09 09 09 09 | 09 09 09 09 09 09 69 66 |d ......|......if|
|00002bc0| 20 73 65 6e 64 69 6e 67 | 20 69 73 20 74 72 75 65 | sending| is true|
|00002bd0| 2e 41 20 54 61 73 6b 47 | 65 6e 65 72 61 74 6f 72 |.A TaskG|enerator|
|00002be0| 20 6d 75 73 74 20 62 65 | 20 0d 09 09 09 09 09 09 | must be| .......|
|00002bf0| 09 09 09 09 09 69 6e 73 | 74 61 6c 6c 65 64 2e 0d |.....ins|talled..|
|00002c00| 09 09 09 09 09 09 09 09 | 09 09 09 52 65 70 6c 79 |........|...Reply|
|00002c10| 2d 4d 65 73 73 61 67 65 | 73 20 64 6f 65 73 20 6e |-Message|s does n|
|00002c20| 6f 74 20 72 65 71 75 69 | 72 65 20 73 65 6e 64 69 |ot requi|re sendi|
|00002c30| 6e 67 20 74 6f 20 0d 09 | 09 09 09 09 09 09 09 09 |ng to ..|........|
|00002c40| 09 09 62 65 20 61 63 74 | 69 76 65 2e 7d 0d 09 09 |..be act|ive.}...|
|00002c50| 09 09 09 09 09 09 09 09 | 09 0d 09 09 7b 2d 2d 2d |........|....{---|
|00002c60| 2d 2d 2d 2d 2d 2d 20 63 | 6f 68 61 6e 64 6c 65 72 |------ c|ohandler|
|00002c70| 20 74 6f 20 61 6c 6c 6f | 77 20 66 6f 72 20 65 78 | to allo|w for ex|
|00002c80| 70 65 72 69 6d 65 6e 74 | 61 6c 20 69 6d 70 6c 65 |periment|al imple|
|00002c90| 6d 65 6e 74 61 74 69 6f | 6e 73 20 20 20 20 20 20 |mentatio|ns |
|00002ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 7d 20 0d 09 09 0d |--------|- } ....|
|00002cb0| 09 09 09 09 43 6f 48 61 | 6e 64 6c 65 72 3a 74 53 |....CoHa|ndler:tS|
|00002cc0| 63 68 65 64 75 6c 65 72 | 43 6f 68 61 6e 64 6c 65 |cheduler|Cohandle|
|00002cd0| 72 3b 09 09 7b 66 6f 72 | 20 65 78 70 65 72 69 6d |r;..{for| experim|
|00002ce0| 65 6e 74 61 6c 20 75 73 | 65 7d 0d 09 09 09 09 0d |ental us|e}......|
|00002cf0| 09 09 7b 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 77 6f 72 |..{-----|---- wor|
|00002d00| 6b 69 6e 67 20 73 70 61 | 63 65 20 66 6f 72 20 43 |king spa|ce for C|
|00002d10| 6f 68 61 6e 64 6c 65 72 | 20 20 20 2d 2d 2d 2d 2d |ohandler| -----|
|00002d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |--------|------- |
|00002d40| 7d 0d 09 09 7b 53 63 68 | 65 64 75 6c 65 72 20 61 |}...{Sch|eduler a|
|00002d50| 6e 64 20 63 6f 68 61 6e | 64 6c 65 72 20 6d 61 79 |nd cohan|dler may|
|00002d60| 20 66 69 6c 6c 20 74 68 | 65 73 65 20 65 6e 74 72 | fill th|ese entr|
|00002d70| 69 65 73 20 77 69 74 68 | 20 70 72 6f 70 6f 73 61 |ies with| proposa|
|00002d80| 6c 73 2e 20 4e 65 77 54 | 61 73 6b 20 69 73 20 66 |ls. NewT|ask is f|
|00002d90| 72 65 65 20 74 6f 0d 09 | 09 75 73 65 20 6f 72 20 |ree to..|.use or |
|00002da0| 6e 65 67 6c 65 63 74 20 | 74 68 65 6d 2e 20 48 6f |neglect |them. Ho|
|00002db0| 77 65 76 65 72 20 74 6f | 20 61 6c 6c 6f 77 20 66 |wever to| allow f|
|00002dc0| 6f 72 20 61 64 61 70 74 | 69 76 65 20 73 63 68 65 |or adapt|ive sche|
|00002dd0| 64 75 6c 65 72 73 2c 20 | 4e 65 77 54 61 73 6b 20 |dulers, |NewTask |
|00002de0| 73 68 6f 75 6c 64 20 0d | 09 09 6e 6f 74 65 20 69 |should .|..note i|
|00002df0| 74 73 20 63 68 6f 69 63 | 65 73 20 68 65 72 65 2e |ts choic|es here.|
|00002e00| 20 7d 0d 0d 09 09 54 61 | 73 6b 41 64 64 72 3a 09 | }....Ta|skAddr:.|
|00002e10| 09 4d 73 67 41 64 64 72 | 3b 09 09 09 7b 74 68 65 |.MsgAddr|;...{the|
|00002e20| 20 65 66 66 65 63 74 69 | 76 65 20 61 64 64 72 65 | effecti|ve addre|
|00002e30| 73 73 20 6f 66 20 74 68 | 65 20 74 61 73 6b 20 73 |ss of th|e task s|
|00002e40| 65 72 76 65 72 7d 0d 09 | 09 54 61 73 6b 49 64 3a |erver}..|.TaskId:|
|00002e50| 09 09 09 6c 6f 6e 67 69 | 6e 74 3b 09 09 09 7b 61 |...longi|nt;...{a|
|00002e60| 20 73 74 61 6d 70 20 74 | 6f 20 69 64 65 6e 74 69 | stamp t|o identi|
|00002e70| 66 79 20 74 68 65 20 74 | 61 73 6b 2e 7d 0d 09 09 |fy the t|ask.}...|
|00002e80| 54 61 73 6b 49 74 65 72 | 61 74 69 6f 6e 73 3a 09 |TaskIter|ations:.|
|00002e90| 6c 6f 6e 67 69 6e 74 3b | 09 09 09 7b 74 68 65 20 |longint;|...{the |
|00002ea0| 6e 75 6d 62 65 72 20 6f | 66 20 65 6c 65 6d 65 6e |number o|f elemen|
|00002eb0| 74 61 72 79 20 61 63 74 | 69 6f 6e 73 20 74 6f 20 |tary act|ions to |
|00002ec0| 70 65 72 66 6f 72 6d 7d | 0d 0d 09 09 7b 2d 2d 2d |perform}|....{---|
|00002ed0| 2d 2d 2d 2d 2d 2d 20 73 | 63 68 65 64 75 6c 65 72 |------ s|cheduler|
|00002ee0| 73 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 61 62 |s inform|ation ab|
|00002ef0| 6f 75 74 20 74 68 65 20 | 72 65 63 65 69 76 65 72 |out the |receiver|
|00002f00| 20 61 6e 64 20 69 74 73 | 20 77 6f 72 6c 64 20 2d | and its| world -|
|00002f10| 2d 2d 2d 2d 2d 2d 2d 2d | 20 7d 0d 0d 09 09 54 61 |--------| }....Ta|
|00002f20| 73 6b 48 61 6e 64 6c 65 | 72 3a 09 74 54 61 73 6b |skHandle|r:.tTask|
|00002f30| 48 61 6e 64 6c 65 72 3b | 09 7b 77 69 6c 6c 20 62 |Handler;|.{will b|
|00002f40| 65 20 63 61 6c 6c 65 64 | 20 77 68 65 6e 65 76 65 |e called| wheneve|
|00002f50| 72 20 61 20 70 61 63 6b | 65 74 20 63 6f 6d 65 73 |r a pack|et comes|
|00002f60| 20 69 6e 7d 0d 0d 09 09 | 7b 2d 2d 2d 2d 2d 2d 2d | in}....|{-------|
|00002f70| 2d 2d 20 73 63 68 65 64 | 75 6c 65 72 73 20 69 6e |-- sched|ulers in|
|00002f80| 66 6f 72 6d 61 74 69 6f | 6e 20 61 62 6f 75 74 20 |formatio|n about |
|00002f90| 74 68 65 20 54 61 73 6b | 47 65 6e 65 72 61 74 6f |the Task|Generato|
|00002fa0| 72 20 61 6e 64 20 69 74 | 73 20 77 6f 72 6c 64 20 |r and it|s world |
|00002fb0| 2d 2d 2d 2d 20 7d 0d 0d | 09 09 54 61 73 6b 47 65 |---- }..|..TaskGe|
|00002fc0| 6e 65 72 61 74 6f 72 3a | 09 74 54 61 73 6b 47 65 |nerator:|.tTaskGe|
|00002fd0| 6e 65 72 61 74 6f 72 3b | 09 09 7b 77 69 6c 6c 20 |nerator;|..{will |
|00002fe0| 62 65 20 63 61 6c 6c 65 | 64 20 77 68 65 6e 65 76 |be calle|d whenev|
|00002ff0| 65 72 20 73 63 68 65 64 | 75 6c 65 72 20 77 61 6e |er sched|uler wan|
|00003000| 74 73 20 74 6f 20 73 65 | 6e 64 20 61 20 70 61 63 |ts to se|nd a pac|
|00003010| 6b 65 74 7d 0d 09 09 4e | 65 78 74 54 69 63 6b 6c |ket}...N|extTickl|
|00003020| 65 3a 09 09 4c 6f 6e 67 | 69 6e 74 3b 09 09 09 7b |e:..Long|int;...{|
|00003030| 6e 65 78 74 20 74 69 6d | 65 20 74 6f 20 6d 61 6b |next tim|e to mak|
|00003040| 65 20 61 20 74 72 79 20 | 63 61 6c 6c 7d 0d 09 09 |e a try |call}...|
|00003050| 4e 65 78 74 57 61 69 74 | 3a 09 09 4c 6f 6e 67 69 |NextWait|:..Longi|
|00003060| 6e 74 3b 09 09 09 7b 64 | 6f 20 6e 6f 74 20 63 61 |nt;...{d|o not ca|
|00003070| 6c 6c 20 62 65 66 6f 72 | 65 20 74 68 69 73 20 74 |ll befor|e this t|
|00003080| 69 6d 65 7d 0d 09 09 50 | 72 65 76 44 65 73 74 3a |ime}...P|revDest:|
|00003090| 09 09 4d 73 67 41 64 64 | 72 3b 09 09 09 7b 74 68 |..MsgAdd|r;...{th|
|000030a0| 65 20 6c 61 73 74 20 64 | 65 73 74 69 6e 61 74 69 |e last d|estinati|
|000030b0| 6f 6e 20 61 20 74 61 73 | 6b 20 77 61 73 20 73 65 |on a tas|k was se|
|000030c0| 6e 74 20 74 6f 7d 0d 0d | 09 09 7b 2d 2d 2d 2d 2d |nt to}..|..{-----|
|000030d0| 2d 2d 2d 2d 20 65 72 72 | 6f 72 20 6c 61 74 63 68 |---- err|or latch|
|000030e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |--------|------- |
|000030f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003110| 2d 2d 2d 2d 20 7d 0d 0d | 09 09 45 72 72 3a 09 09 |---- }..|..Err:..|
|00003120| 09 4f 73 45 72 72 3b 09 | 09 09 09 7b 6c 61 74 63 |.OsErr;.|...{latc|
|00003130| 68 20 65 72 72 6f 72 20 | 63 6f 64 65 20 68 65 72 |h error |code her|
|00003140| 65 20 74 6f 20 61 6c 6c | 6f 77 20 66 6f 72 20 73 |e to all|ow for s|
|00003150| 69 6c 65 6e 74 20 69 6d | 70 6c 65 6d 65 6e 74 61 |ilent im|plementa|
|00003160| 74 69 6f 6e 73 7d 0d 09 | 09 45 72 72 51 75 69 65 |tions}..|.ErrQuie|
|00003170| 74 3a 09 09 42 6f 6f 6c | 65 61 6e 3b 09 09 09 7b |t:..Bool|ean;...{|
|00003180| 6e 6f 20 65 72 72 6f 72 | 20 72 65 70 6f 72 74 69 |no error| reporti|
|00003190| 6e 67 7d 0d 09 09 45 72 | 72 46 72 6f 6d 3a 09 09 |ng}...Er|rFrom:..|
|000031a0| 74 53 63 68 65 64 75 6c | 65 72 50 68 61 73 65 3b |tSchedul|erPhase;|
|000031b0| 0d 09 09 70 72 6f 63 65 | 64 75 72 65 20 74 53 63 |...proce|dure tSc|
|000031c0| 68 65 64 75 6c 65 72 2e | 68 61 6e 64 6c 65 45 72 |heduler.|handleEr|
|000031d0| 72 6f 72 28 66 72 6f 6d | 3a 74 53 63 68 65 64 75 |ror(from|:tSchedu|
|000031e0| 6c 65 72 50 68 61 73 65 | 3b 77 68 69 63 68 3a 4f |lerPhase|;which:O|
|000031f0| 73 45 72 72 29 3b 0d 09 | 09 09 09 09 09 09 09 7b |sErr);..|.......{|
|00003200| 65 72 72 6f 72 73 20 64 | 75 72 69 6e 67 20 53 63 |errors d|uring Sc|
|00003210| 68 65 64 75 6c 65 72 20 | 61 63 74 69 76 69 74 79 |heduler |activity|
|00003220| 2e 0d 09 09 09 09 09 09 | 09 09 09 09 09 73 68 6f |........|.....sho|
|00003230| 75 6c 64 20 62 65 20 63 | 75 73 74 6f 6d 69 7a 65 |uld be c|ustomize|
|00003240| 64 2e 7d 0d 0d 09 09 7b | 2d 2d 2d 2d 2d 2d 2d 2d |d.}....{|--------|
|00003250| 2d 20 6d 61 69 6e 20 63 | 6f 6e 74 72 6f 6c 20 6f |- main c|ontrol o|
|00003260| 66 20 73 63 68 65 64 75 | 6c 65 72 20 2d 2d 2d 2d |f schedu|ler ----|
|00003270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003290| 2d 2d 20 7d 0d 09 09 0d | 09 09 70 72 6f 63 65 64 |-- }....|..proced|
|000032a0| 75 72 65 20 74 53 63 68 | 65 64 75 6c 65 72 2e 69 |ure tSch|eduler.i|
|000032b0| 6e 69 74 3b 09 09 09 09 | 09 7b 74 68 65 20 6f 6e |nit;....|.{the on|
|000032c0| 63 65 2d 6f 6e 6c 79 20 | 69 6e 69 74 69 61 6c 69 |ce-only |initiali|
|000032d0| 7a 61 74 69 6f 6e 7d 0d | 0d 09 09 70 72 6f 63 65 |zation}.|...proce|
|000032e0| 64 75 72 65 20 74 53 63 | 68 65 64 75 6c 65 72 2e |dure tSc|heduler.|
|000032f0| 72 65 73 65 74 3b 09 09 | 09 09 09 7b 72 65 73 65 |reset;..|...{rese|
|00003300| 74 20 74 6f 20 6e 6f 20 | 65 72 72 6f 72 2c 20 6e |t to no |error, n|
|00003310| 6f 74 20 73 65 6e 64 69 | 6e 67 2c 20 6e 6f 74 20 |ot sendi|ng, not |
|00003320| 72 65 63 65 69 76 69 6e | 67 2e 7d 0d 0d 09 09 70 |receivin|g.}....p|
|00003330| 72 6f 63 65 64 75 72 65 | 20 74 53 63 68 65 64 75 |rocedure| tSchedu|
|00003340| 6c 65 72 2e 66 72 65 65 | 3b 20 6f 76 65 72 72 69 |ler.free|; overri|
|00003350| 64 65 3b 0d 09 09 0d 09 | 09 70 72 6f 63 65 64 75 |de;.....|.procedu|
|00003360| 72 65 20 74 53 63 68 65 | 64 75 6c 65 72 2e 73 65 |re tSche|duler.se|
|00003370| 74 53 65 6e 64 69 6e 67 | 28 6f 6e 6f 66 66 3a 62 |tSending|(onoff:b|
|00003380| 6f 6f 6c 65 61 6e 29 3b | 0d 09 09 70 72 6f 63 65 |oolean);|...proce|
|00003390| 64 75 72 65 20 74 53 63 | 68 65 64 75 6c 65 72 2e |dure tSc|heduler.|
|000033a0| 73 65 74 52 65 63 65 69 | 76 69 6e 67 28 6f 6e 6f |setRecei|ving(ono|
|000033b0| 66 66 3a 62 6f 6f 6c 65 | 61 6e 29 3b 0d 0d 09 09 |ff:boole|an);....|
|000033c0| 7b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 69 6e 73 74 61 |{-------|-- insta|
|000033d0| 6c 6c 61 74 69 6f 6e 20 | 6f 66 20 68 61 6e 64 6c |llation |of handl|
|000033e0| 65 72 73 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ers ----|--------|
|000033f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 20 7d 0d 0d 09 09 |--------|-- }....|
|00003410| 50 72 6f 63 65 64 75 72 | 65 20 74 53 63 68 65 64 |Procedur|e tSched|
|00003420| 75 6c 65 72 2e 49 6e 69 | 74 54 61 73 6b 48 61 6e |uler.Ini|tTaskHan|
|00003430| 64 6c 65 72 28 6e 65 77 | 54 61 73 6b 48 61 6e 64 |dler(new|TaskHand|
|00003440| 6c 65 72 3a 74 54 61 73 | 6b 48 61 6e 64 6c 65 72 |ler:tTas|kHandler|
|00003450| 29 3b 0d 0d 09 09 50 72 | 6f 63 65 64 75 72 65 20 |);....Pr|ocedure |
|00003460| 74 53 63 68 65 64 75 6c | 65 72 2e 49 6e 69 74 54 |tSchedul|er.InitT|
|00003470| 61 73 6b 47 65 6e 65 72 | 61 74 6f 72 28 6e 65 77 |askGener|ator(new|
|00003480| 54 61 73 6b 47 65 6e 65 | 72 61 74 6f 72 3a 74 54 |TaskGene|rator:tT|
|00003490| 61 73 6b 47 65 6e 65 72 | 61 74 6f 72 29 3b 0d 0d |askGener|ator);..|
|000034a0| 0d 09 09 7b 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 20 73 |...{----|----- s|
|000034b0| 63 68 65 64 75 6c 65 72 | 73 20 74 61 73 6b 20 72 |cheduler|s task r|
|000034c0| 6f 75 74 69 6e 65 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |outine -|--------|
|000034d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 20 7d 0d |--------|----- }.|
|000034f0| 0d 09 09 70 72 6f 63 65 | 64 75 72 65 20 74 53 63 |...proce|dure tSc|
|00003500| 68 65 64 75 6c 65 72 2e | 48 61 6e 64 6c 65 4d 73 |heduler.|HandleMs|
|00003510| 67 20 28 4d 73 67 20 3a | 20 4d 73 67 50 74 72 29 |g (Msg :| MsgPtr)|
|00003520| 3b 0d 09 09 09 09 09 09 | 09 7b 74 61 6b 65 20 61 |;.......|.{take a|
|00003530| 20 6d 65 73 73 61 67 65 | 20 61 6e 64 20 68 61 6e | message| and han|
|00003540| 64 6c 65 20 69 74 2e 20 | 54 68 65 20 61 70 70 72 |dle it. |The appr|
|00003550| 6f 70 72 69 61 74 65 20 | 61 63 74 69 6f 6e 20 69 |opriate |action i|
|00003560| 73 0d 09 09 09 09 09 09 | 09 64 65 74 65 72 6d 69 |s.......|.determi|
|00003570| 6e 65 64 20 62 79 20 74 | 68 65 20 6d 65 73 73 61 |ned by t|he messa|
|00003580| 67 65 20 73 74 61 75 73 | 20 61 6e 64 20 61 63 74 |ge staus| and act|
|00003590| 69 6f 6e 20 63 6f 64 65 | 2e 7d 0d 0d 09 09 70 72 |ion code|.}....pr|
|000035a0| 6f 63 65 64 75 72 65 20 | 74 53 63 68 65 64 75 6c |ocedure |tSchedul|
|000035b0| 65 72 2e 50 65 72 69 6f | 64 69 63 54 61 73 6b 3b |er.Perio|dicTask;|
|000035c0| 0d 09 09 09 09 09 09 09 | 7b 74 68 65 20 70 65 72 |........|{the per|
|000035d0| 69 6f 64 69 63 20 74 61 | 73 6b 2e 20 73 68 6f 75 |iodic ta|sk. shou|
|000035e0| 6c 64 20 62 65 20 63 61 | 6c 6c 65 64 20 66 72 6f |ld be ca|lled fro|
|000035f0| 6d 20 74 68 65 20 65 76 | 65 6e 74 20 6c 6f 6f 70 |m the ev|ent loop|
|00003600| 2e 0d 09 09 09 09 09 09 | 09 50 65 72 66 6f 72 6d |........|.Perform|
|00003610| 73 20 68 6f 75 73 65 6b | 65 65 65 70 69 6e 67 20 |s housek|eeeping |
|00003620| 61 63 74 69 6f 6e 73 2e | 7d 0d 09 0d 09 09 66 75 |actions.|}.....fu|
|00003630| 6e 63 74 69 6f 6e 20 74 | 53 63 68 65 64 75 6c 65 |nction t|Schedule|
|00003640| 72 2e 47 65 74 53 6c 65 | 65 70 3a 20 6c 6f 6e 67 |r.GetSle|ep: long|
|00003650| 69 6e 74 3b 0d 09 09 09 | 09 09 09 09 7b 20 72 65 |int;....|....{ re|
|00003660| 74 75 72 6e 73 20 74 68 | 65 20 64 65 6c 61 79 20 |turns th|e delay |
|00003670| 75 6e 74 69 6c 20 74 68 | 65 20 6e 65 78 74 20 61 |until th|e next a|
|00003680| 63 74 69 76 61 74 69 6f | 6e 2c 20 69 6e 20 74 69 |ctivatio|n, in ti|
|00003690| 63 6b 73 7d 0d 09 09 09 | 09 09 09 09 0d 09 09 7b |cks}....|.......{|
|000036a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 20 73 63 68 65 64 |--------|- sched|
|000036b0| 75 6c 65 72 73 20 6b 69 | 63 6b 4f 66 66 20 20 20 |ulers ki|ckOff |
|000036c0| 20 20 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | -----|--------|
|000036d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 7d 0d 09 09 70 72 |--------|- }...pr|
|000036f0| 6f 63 65 64 75 72 65 20 | 74 53 63 68 65 64 75 6c |ocedure |tSchedul|
|00003700| 65 72 2e 6b 69 63 6b 4f | 66 66 28 6d 61 78 63 6f |er.kickO|ff(maxco|
|00003710| 75 6e 74 2c 6d 61 78 74 | 69 63 6b 73 3a 69 6e 74 |unt,maxt|icks:int|
|00003720| 65 67 65 72 29 3b 0d 09 | 09 09 09 09 09 09 7b 69 |eger);..|......{i|
|00003730| 6e 69 74 69 61 74 65 73 | 20 61 20 72 6f 75 6e 64 |nitiates| a round|
|00003740| 20 6f 66 20 61 74 20 6d | 6f 73 74 20 6d 61 78 63 | of at m|ost maxc|
|00003750| 6f 75 6e 74 20 73 63 68 | 65 64 75 6c 65 72 20 0d |ount sch|eduler .|
|00003760| 09 09 09 09 09 09 09 74 | 61 73 6b 73 20 66 6f 72 |.......t|asks for|
|00003770| 20 61 20 74 6f 74 61 6c | 20 74 69 6d 65 20 6f 66 | a total| time of|
|00003780| 20 6d 61 78 74 69 63 6b | 73 20 28 77 68 61 74 65 | maxtick|s (whate|
|00003790| 76 65 72 20 63 6f 6d 65 | 73 0d 09 09 09 09 09 09 |ver come|s.......|
|000037a0| 09 66 69 72 73 74 29 2e | 20 54 68 65 20 75 73 75 |.first).| The usu|
|000037b0| 61 6c 20 73 65 6e 64 20 | 69 6e 74 65 72 76 61 6c |al send |interval|
|000037c0| 20 6c 69 6d 69 74 61 74 | 69 6f 6e 73 20 64 6f 20 | limitat|ions do |
|000037d0| 6e 6f 74 0d 09 09 09 09 | 09 09 09 61 70 70 6c 79 |not.....|...apply|
|000037e0| 20 64 75 72 69 6e 67 20 | 6b 69 63 6b 20 6f 66 66 | during |kick off|
|000037f0| 7d 0d 0d 09 09 7b 2d 2d | 2d 2d 2d 2d 2d 2d 2d 20 |}....{--|------- |
|00003800| 20 69 6e 74 65 72 6e 61 | 6c 20 72 6f 75 74 69 6e | interna|l routin|
|00003810| 65 73 2e 20 70 75 74 20 | 68 65 72 65 20 74 6f 20 |es. put |here to |
|00003820| 61 6c 6c 6f 77 20 65 61 | 73 79 20 63 75 73 74 6f |allow ea|sy custo|
|00003830| 6d 69 7a 61 74 69 6f 6e | 20 2d 2d 2d 2d 2d 2d 20 |mization| ------ |
|00003840| 7d 0d 09 09 70 72 6f 63 | 65 64 75 72 65 20 74 53 |}...proc|edure tS|
|00003850| 63 68 65 64 75 6c 65 72 | 2e 44 6f 4e 65 77 54 61 |cheduler|.DoNewTa|
|00003860| 73 6b 28 61 64 64 72 3a | 4d 73 67 41 64 64 72 3b |sk(addr:|MsgAddr;|
|00003870| 54 72 61 6e 73 70 6f 72 | 74 3a 54 72 61 6e 73 70 |Transpor|t:Transp|
|00003880| 6f 72 74 50 74 72 29 3b | 0d 09 09 09 09 09 09 09 |ortPtr);|........|
|00003890| 7b 63 61 6c 6c 20 4e 65 | 77 54 61 73 6b 2c 20 77 |{call Ne|wTask, w|
|000038a0| 69 74 68 20 61 6c 6c 20 | 73 75 70 70 6f 72 74 2c |ith all |support,|
|000038b0| 20 66 6f 72 20 61 64 64 | 72 7d 0d 09 09 09 09 09 | for add|r}......|
|000038c0| 09 09 0d 09 09 70 72 6f | 63 65 64 75 72 65 20 74 |.....pro|cedure t|
|000038d0| 53 63 68 65 64 75 6c 65 | 72 2e 73 65 6e 64 6d 65 |Schedule|r.sendme|
|000038e0| 73 73 61 67 65 28 6d 73 | 67 3a 4d 65 73 73 61 67 |ssage(ms|g:Messag|
|000038f0| 65 50 74 72 29 3b 0d 09 | 09 09 09 09 09 09 7b 73 |ePtr);..|......{s|
|00003900| 65 6e 64 20 74 68 65 20 | 6d 65 73 73 61 67 65 20 |end the |message |
|00003910| 69 6e 64 69 63 61 74 65 | 64 20 62 79 20 6d 73 67 |indicate|d by msg|
|00003920| 2c 20 61 6e 64 20 6e 6f | 74 65 20 69 6e 0d 09 09 |, and no|te in...|
|00003930| 09 09 09 09 09 73 63 68 | 65 64 75 6c 65 72 73 20 |.....sch|edulers |
|00003940| 71 75 65 75 65 2e 7d 0d | 09 09 09 09 09 09 09 0d |queue.}.|........|
|00003950| 09 09 70 72 6f 63 65 64 | 75 72 65 20 74 53 63 68 |..proced|ure tSch|
|00003960| 65 64 75 6c 65 72 2e 72 | 65 70 6c 79 6d 65 73 73 |eduler.r|eplymess|
|00003970| 61 67 65 28 6d 73 67 3a | 4d 65 73 73 61 67 65 50 |age(msg:|MessageP|
|00003980| 74 72 3b 66 6c 61 67 73 | 54 6f 41 64 64 3a 6c 6f |tr;flags|ToAdd:lo|
|00003990| 6e 67 69 6e 74 29 3b 0d | 09 09 09 09 09 09 09 7b |ngint);.|.......{|
|000039a0| 73 65 6e 64 20 74 68 65 | 20 6d 65 73 73 61 67 65 |send the| message|
|000039b0| 20 69 6e 64 69 63 61 74 | 65 64 20 62 79 20 6d 73 | indicat|ed by ms|
|000039c0| 67 2c 20 62 75 74 20 74 | 6f 20 6d 73 67 0d 09 09 |g, but t|o msg...|
|000039d0| 09 09 09 09 09 74 61 72 | 67 65 74 7d 0d 09 0d 0d |.....tar|get}....|
|000039e0| 09 65 6e 64 3b 0d 0d 0d | 76 61 72 0d 09 4e 65 74 |.end;...|var..Net|
|000039f0| 57 6f 72 6b 53 63 68 65 | 64 75 6c 65 72 3a 74 53 |WorkSche|duler:tS|
|00003a00| 63 68 65 64 75 6c 65 72 | 3b 0d 0d 0d 09 7b 3d 3d |cheduler|;....{==|
|00003a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a60| 3d 3d 7d 0d 0d 0d 09 49 | 6d 70 6c 65 6d 65 6e 74 |==}....I|mplement|
|00003a70| 61 74 69 6f 6e 20 0d 7b | 2d 2d 2d 2d 2d 2d 2d 2d |ation .{|--------|
|00003a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ab0| 2d 2d 2d 2d 7d 0d 0d 63 | 6f 6e 73 74 20 0d 09 75 |----}..c|onst ..u|
|00003ac0| 6e 69 74 76 65 72 73 69 | 6f 6e 3d 27 31 2e 31 2d |nitversi|on='1.1-|
|00003ad0| 30 42 27 3b 0d 09 75 6e | 69 74 49 64 3d 27 53 63 |0B';..un|itId='Sc|
|00003ae0| 68 65 64 75 6c 65 72 55 | 6e 69 74 27 3b 0d 0d 09 |hedulerU|nit';...|
|00003af0| 7b 24 49 20 53 63 68 65 | 64 75 6c 65 72 55 6e 69 |{$I Sche|dulerUni|
|00003b00| 74 2e 69 6e 63 2e 70 7d | 0d 0d 65 6e 64 2e 20 7b |t.inc.p}|..end. {|
|00003b10| 20 53 63 68 65 64 75 6c | 65 72 55 6e 69 74 20 75 | Schedul|erUnit u|
|00003b20| 6e 69 74 20 7d 0d 00 00 | 00 00 00 00 00 00 00 00 |nit }...|........|
|00003b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003b80| 00 00 01 00 00 00 05 85 | 00 00 04 85 00 00 00 5e |........|.......^|
|00003b90| 69 74 3b 0d 7b 20 a9 20 | 47 2e 20 53 61 77 69 74 |it;.{ . |G. Sawit|
|00003ba0| 7a 6b 69 2c 20 53 74 61 | 74 4c 61 62 20 48 65 69 |zki, Sta|tLab Hei|
|00003bb0| 0f 53 63 68 65 64 75 6c | 65 72 55 6e 69 74 2e 70 |.Schedul|erUnit.p|
|00003bc0| 02 00 00 00 54 45 58 54 | 4d 50 53 20 01 00 01 d4 |....TEXT|MPS ....|
|00003bd0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 01 d4 00 00 |..TEXTMP|S ......|
|00003be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003bf0| 00 00 a1 7b b4 76 00 00 | 3a a6 00 00 05 e3 20 69 |...{.v..|:..... i|
|00003c00| 74 65 72 61 74 69 6f 6e | 73 2e 0d 59 6f 75 20 68 |teration|s..You h|
|00003c10| 61 76 65 20 74 6f 20 63 | 72 65 61 74 65 20 61 20 |ave to c|reate a |
|00003c20| 73 63 68 65 64 75 6c 65 | 72 20 77 69 74 68 20 4e |schedule|r with N|
|00003c30| 65 77 28 53 63 68 65 64 | 75 6c 65 72 29 0d 61 6e |ew(Sched|uler).an|
|00003c40| 64 20 74 6f 20 69 6e 69 | 74 69 61 6c 69 7a 65 20 |d to ini|tialize |
|00003c50| 69 74 20 77 69 74 68 20 | 53 63 68 65 64 75 6c 65 |it with |Schedule|
|00003c60| 72 2e 49 6e 69 74 2e 0d | 0d 46 6f 72 20 61 20 63 |r.Init..|.For a c|
|00003c70| 6f 6d 70 75 74 65 20 73 | 65 72 76 65 72 20 28 73 |ompute s|erver (s|
|00003c80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 26 00 0e |...H..Mo|naco.&..|
|00003c90| 00 00 00 09 00 0f 02 26 | 7f ff 00 19 00 00 00 09 |.......&|........|
|00003ca0| 00 0f 02 26 7f ff 00 06 | 00 04 00 2a 00 03 01 dd |...&....|...*....|
|00003cb0| 02 7d 00 29 01 42 01 6a | 02 79 a4 ce 21 7f 00 00 |.}.).B.j|.y..!...|
|00003cc0| 3a 87 00 00 3a 87 00 00 | 37 72 01 00 00 00 03 e4 |:...:...|7r......|
|00003cd0| 00 20 00 00 00 05 00 00 | 00 12 0d 53 63 68 65 64 |. ......|...Sched|
|00003ce0| 75 6c 65 72 55 6e 69 74 | 00 00 10 70 00 00 10 84 |ulerUnit|...p....|
|00003cf0| 15 74 4d 65 73 73 61 67 | 65 48 61 6e 64 6c 65 72 |.tMessag|eHandler|
|00003d00| 2e 69 6e 69 74 00 00 00 | 10 f5 00 00 11 0c 17 74 |.init...|.......t|
|00003d10| 4d 65 73 73 61 67 65 48 | 61 6e 64 6c 65 72 2e 72 |MessageH|andler.r|
|00003d20| 65 73 74 61 72 74 00 00 | 11 d3 00 00 11 e8 15 74 |estart..|.......t|
|00003d30| 4d 65 73 73 61 67 65 48 | 61 6e 64 6c 65 72 2e 53 |MessageH|andler.S|
|00003d40| 74 61 6d 70 00 00 13 8a | 00 00 13 a4 1b 74 4d 65 |tamp....|.....tMe|
|00003d50| 73 73 61 67 65 48 61 6e | 64 6c 65 72 2e 4e 65 77 |ssageHan|dler.New|
|00003d60| 50 72 69 6f 50 74 72 00 | 00 00 14 53 00 00 14 6d |PrioPtr.|...S...m|
|00003d70| 19 74 4d 65 73 73 61 67 | 65 48 61 6e 64 6c 65 72 |.tMessag|eHandler|
|00003d80| 2e 4e 65 77 53 74 64 50 | 74 72 00 00 15 12 00 00 |.NewStdP|tr......|
|00003d90| 15 2f 1d 74 4d 65 73 73 | 61 67 65 48 61 6e 64 6c |./.tMess|ageHandl|
|00003da0| 65 72 2e 44 69 73 70 6f | 73 50 72 69 6f 50 74 72 |er.Dispo|sPrioPtr|
|00003db0| 00 00 15 87 00 00 15 a4 | 1d 74 4d 65 73 73 61 67 |........|.tMessag|
|00003dc0| 65 48 61 6e 64 6c 65 72 | 2e 44 69 73 70 6f 73 53 |eHandler|.DisposS|
|00003dd0| 74 64 50 74 72 00 00 00 | 1b 0d 00 00 1b 1e 11 74 |tdPtr...|.......t|
|00003de0| 54 61 73 6b 48 61 6e 64 | 6c 65 72 2e 69 6e 69 74 |TaskHand|ler.init|
|00003df0| 00 00 1b 95 00 00 1b a9 | 15 74 54 61 73 6b 48 61 |........|.tTaskHa|
|00003e00| 6e 64 6c 65 72 2e 72 65 | 73 74 61 72 74 00 00 00 |ndler.re|start...|
|00003e10| 1c 79 00 00 1c 95 1d 74 | 54 61 73 6b 48 61 6e 64 |.y.....t|TaskHand|
|00003e20| 6c 65 72 2e 4d 73 67 48 | 65 61 64 65 72 75 73 61 |ler.MsgH|eaderusa|
|00003e30| 62 6c 65 00 00 00 1e c0 | 00 00 1e d6 17 74 54 61 |ble.....|.....tTa|
|00003e40| 73 6b 48 61 6e 64 6c 65 | 72 2e 4d 73 67 75 73 61 |skHandle|r.Msgusa|
|00003e50| 62 6c 65 00 00 00 20 00 | 00 00 20 1a 1b 74 54 61 |ble... .|.. ..tTa|
|00003e60| 73 6b 48 61 6e 64 6c 65 | 72 2e 4d 73 67 45 76 61 |skHandle|r.MsgEva|
|00003e70| 6c 75 61 74 69 6f 6e 00 | 00 00 23 89 00 00 23 9c |luation.|..#...#.|
|00003e80| 13 74 54 61 73 6b 47 65 | 6e 65 72 61 74 6f 72 2e |.tTaskGe|nerator.|
|00003e90| 69 6e 69 74 00 00 24 14 | 00 00 24 2a 17 74 54 61 |init..$.|..$*.tTa|
|00003ea0| 73 6b 47 65 6e 65 72 61 | 74 6f 72 2e 72 65 73 74 |skGenera|tor.rest|
|00003eb0| 61 72 74 00 00 00 24 a1 | 00 00 24 b5 15 74 54 61 |art...$.|..$..tTa|
|00003ec0| 73 6b 47 65 6e 65 72 61 | 74 6f 72 2e 53 74 61 6d |skGenera|tor.Stam|
|00003ed0| 70 00 00 00 25 5d 00 00 | 25 73 17 74 54 61 73 6b |p...%]..|%s.tTask|
|00003ee0| 47 65 6e 65 72 61 74 6f | 72 2e 4e 65 77 54 61 73 |Generato|r.NewTas|
|00003ef0| 6b 00 00 00 28 e2 00 00 | 28 fe 1d 74 53 63 68 65 |k...(...|(..tSche|
|00003f00| 64 75 6c 65 72 43 6f 68 | 61 6e 64 6c 65 72 2e 43 |dulerCoh|andler.C|
|00003f10| 6f 48 61 6e 64 6c 65 00 | 00 00 29 2f 00 00 29 48 |oHandle.|..)/..)H|
|00003f20| 19 74 53 63 68 65 64 75 | 6c 65 72 43 6f 68 61 6e |.tSchedu|lerCohan|
|00003f30| 64 6c 65 72 2e 72 65 73 | 65 74 00 00 31 3d 00 00 |dler.res|et..1=..|
|00003f40| 31 53 0b 68 61 6e 64 6c | 65 45 72 72 6f 72 00 00 |1S.handl|eError..|
|00003f50| 32 24 00 00 32 33 0f 74 | 53 63 68 65 64 75 6c 65 |2$..23.t|Schedule|
|00003f60| 72 2e 69 6e 69 74 00 00 | 32 65 00 00 32 75 11 74 |r.init..|2e..2u.t|
|00003f70| 53 63 68 65 64 75 6c 65 | 72 2e 72 65 73 65 74 00 |Schedule|r.reset.|
|00003f80| 00 00 32 b9 00 00 32 c8 | 0f 74 53 63 68 65 64 75 |..2...2.|.tSchedu|
|00003f90| 6c 65 72 2e 66 72 65 65 | 00 00 32 e3 00 00 32 f8 |ler.free|..2...2.|
|00003fa0| 15 74 53 63 68 65 64 75 | 6c 65 72 2e 73 65 74 53 |.tSchedu|ler.setS|
|00003fb0| 65 6e 64 69 6e 67 00 00 | 33 15 00 00 33 2c 17 74 |ending..|3...3,.t|
|00003fc0| 53 63 68 65 64 75 6c 65 | 72 2e 73 65 74 52 65 63 |Schedule|r.setRec|
|00003fd0| 65 69 76 69 6e 67 00 00 | 33 9a 00 00 33 b4 17 74 |eiving..|3...3..t|
|00003fe0| 53 63 68 65 64 75 6c 65 | 72 2e 49 6e 69 74 52 65 |Schedule|r.InitRe|
|00003ff0| 63 65 69 76 65 00 00 00 | 33 e0 00 00 33 fc 1d 74 |ceive...|3...3..t|
|00004000| 53 63 68 65 64 75 6c 65 | 72 2e 49 6e 69 74 54 61 |Schedule|r.InitTa|
|00004010| 73 6b 47 65 6e 65 72 61 | 74 6f 72 00 00 00 34 7d |skGenera|tor...4}|
|00004020| 00 00 34 91 15 74 53 63 | 68 65 64 75 6c 65 72 2e |..4..tSc|heduler.|
|00004030| 48 61 6e 64 6c 65 4d 73 | 67 00 00 00 36 78 00 00 |HandleMs|g...6x..|
|00004040| 36 8a 13 74 53 63 68 65 | 64 75 6c 65 72 2e 6b 69 |6..tSche|duler.ki|
|00004050| 63 6b 4f 66 66 00 00 00 | 37 ce 00 00 37 e2 15 74 |ckOff...|7...7..t|
|00004060| 53 63 68 65 64 75 6c 65 | 72 2e 44 6f 4e 65 77 54 |Schedule|r.DoNewT|
|00004070| 61 73 6b 00 00 00 38 4f | 00 00 38 65 17 74 53 63 |ask...8O|..8e.tSc|
|00004080| 68 65 64 75 6c 65 72 2e | 73 65 6e 64 6d 65 73 73 |heduler.|sendmess|
|00004090| 61 67 65 00 00 00 38 dc | 00 00 38 f3 17 74 53 63 |age...8.|..8..tSc|
|000040a0| 68 65 64 75 6c 65 72 2e | 72 65 70 6c 79 6d 65 73 |heduler.|replymes|
|000040b0| 73 61 67 65 00 00 00 1e | 00 2a 00 03 01 dd 02 7d |sage....|.*.....}|
|000040c0| 00 29 01 42 01 6a 02 79 | 00 00 37 72 00 00 00 00 |.).B.j.y|..7r....|
|000040d0| 00 00 00 00 00 00 00 00 | 00 2b 01 23 80 00 00 00 |........|.+.#....|
|000040e0| 05 31 2e 32 2e 33 1e 31 | 2e 32 2e 33 a9 31 39 39 |.1.2.3.1|.2.3.199|
|000040f0| 31 54 68 65 20 4e 65 74 | 57 6f 72 6b 20 50 72 6f |1The Net|Work Pro|
|00004100| 6a 65 63 74 20 00 00 01 | 00 00 00 05 85 00 00 04 |ject ...|........|
|00004110| 85 00 00 00 5e 00 48 3c | 78 08 d2 00 00 00 1c 00 |....^.H<|x.......|
|00004120| 5e 00 01 4d 50 53 52 00 | 02 00 12 76 65 72 73 00 |^..MPSR.|...vers.|
|00004130| 00 00 36 03 ed ff ff 00 | 00 00 00 00 00 00 00 03 |..6.....|........|
|00004140| ef ff ff 00 00 00 4c 00 | 00 00 00 03 f0 ff ff 00 |......L.|........|
|00004150| 00 04 34 00 00 00 00 00 | 02 ff ff 20 00 04 56 00 |..4.....|... ..V.|
|00004160| 48 39 3c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |H9<.....|........|
|00004170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+